From a43bc8877e9363477d3ead25a4ddab0a1ce23b94 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 09:45:41 -0500 Subject: [PATCH 01/67] Revert "Fix boolean logic for cost, apiReqCancelReason (they are never null)" This reverts commit b5340915f73ed7340c33a0c9b03c9648a88e73a4. --- webview-ui/src/components/chat/ChatRow.tsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/webview-ui/src/components/chat/ChatRow.tsx b/webview-ui/src/components/chat/ChatRow.tsx index cb4649a..ffa340e 100644 --- a/webview-ui/src/components/chat/ChatRow.tsx +++ b/webview-ui/src/components/chat/ChatRow.tsx @@ -183,28 +183,26 @@ export const ChatRowContent = ({ ) return [ - apiReqCancelReason ? ( + apiReqCancelReason !== null ? ( apiReqCancelReason === "user_cancelled" ? ( getIconSpan("error", cancelledColor) ) : ( getIconSpan("error", errorColor) ) - ) : cost ? ( + ) : cost !== null ? ( getIconSpan("check", successColor) ) : apiRequestFailedMessage ? ( getIconSpan("error", errorColor) ) : ( ), - apiReqCancelReason ? ( + apiReqCancelReason !== null ? ( apiReqCancelReason === "user_cancelled" ? ( API Request Cancelled ) : ( - - API Streaming Failed ({JSON.stringify(apiReqCancelReason)}) - + API Streaming Failed ) - ) : cost ? ( + ) : cost !== null ? ( API Request ) : apiRequestFailedMessage ? ( API Request Failed @@ -512,7 +510,9 @@ export const ChatRowContent = ({ style={{ ...headerStyle, marginBottom: - (!cost && apiRequestFailedMessage) || apiReqStreamingFailedMessage ? 10 : 0, + (cost === null && apiRequestFailedMessage) || apiReqStreamingFailedMessage + ? 10 + : 0, justifyContent: "space-between", cursor: "pointer", userSelect: "none", @@ -530,7 +530,7 @@ export const ChatRowContent = ({ - {((!cost && apiRequestFailedMessage) || apiReqStreamingFailedMessage) && ( + {((cost === null && apiRequestFailedMessage) || apiReqStreamingFailedMessage) && ( <>

{apiRequestFailedMessage || apiReqStreamingFailedMessage} From 1496b232f55b00ef19524e41e4ffe0eb93dbb1f1 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 09:45:53 -0500 Subject: [PATCH 02/67] Revert "Revert lint rules in webview-ui too" This reverts commit ab4d717211594c8354dc8d9fab1cb7fe8db98245. --- webview-ui/.eslintrc.json | 40 +++++++++++++++++++ webview-ui/src/components/chat/ChatRow.tsx | 16 ++++---- webview-ui/src/components/chat/ChatView.tsx | 6 +-- .../src/components/welcome/WelcomeView.tsx | 2 +- 4 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 webview-ui/.eslintrc.json diff --git a/webview-ui/.eslintrc.json b/webview-ui/.eslintrc.json new file mode 100644 index 0000000..0c69367 --- /dev/null +++ b/webview-ui/.eslintrc.json @@ -0,0 +1,40 @@ +{ + "root": true, + "extends": [ + "eslint:recommended", + "plugin:react/recommended", + "plugin:@typescript-eslint/recommended", + "plugin:react-hooks/recommended" + ], + "parser": "@typescript-eslint/parser", + "plugins": ["react", "@typescript-eslint", "react-hooks"], + "rules": { + "react/react-in-jsx-scope": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-explicit-any": "warn", + "react/display-name": "warn", + "no-case-declarations": "warn", + "react/no-unescaped-entities": "warn", + "react/jsx-key": "warn", + "no-extra-semi": "warn", + "@typescript-eslint/no-var-requires": "warn", + "@typescript-eslint/no-unused-vars": [ + "warn", + { + "argsIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "caughtErrorsIgnorePattern": "^_" + } + ] + }, + "settings": { + "react": { + "version": "detect" + } + }, + "env": { + "browser": true, + "es2021": true, + "node": true + } +} diff --git a/webview-ui/src/components/chat/ChatRow.tsx b/webview-ui/src/components/chat/ChatRow.tsx index ffa340e..1ec109f 100644 --- a/webview-ui/src/components/chat/ChatRow.tsx +++ b/webview-ui/src/components/chat/ChatRow.tsx @@ -89,7 +89,7 @@ export const ChatRowContent = ({ } }, [isLast, message.say]) const [cost, apiReqCancelReason, apiReqStreamingFailedMessage] = useMemo(() => { - if (message.text && message.say === "api_req_started") { + if (message.text != null && message.say === "api_req_started") { const info: ClineApiReqInfo = JSON.parse(message.text) return [info.cost, info.cancelReason, info.streamingFailedMessage] } @@ -183,26 +183,26 @@ export const ChatRowContent = ({ ) return [ - apiReqCancelReason !== null ? ( + apiReqCancelReason != null ? ( apiReqCancelReason === "user_cancelled" ? ( getIconSpan("error", cancelledColor) ) : ( getIconSpan("error", errorColor) ) - ) : cost !== null ? ( + ) : cost != null ? ( getIconSpan("check", successColor) ) : apiRequestFailedMessage ? ( getIconSpan("error", errorColor) ) : ( ), - apiReqCancelReason !== null ? ( + apiReqCancelReason != null ? ( apiReqCancelReason === "user_cancelled" ? ( API Request Cancelled ) : ( API Streaming Failed ) - ) : cost !== null ? ( + ) : cost != null ? ( API Request ) : apiRequestFailedMessage ? ( API Request Failed @@ -510,7 +510,7 @@ export const ChatRowContent = ({ style={{ ...headerStyle, marginBottom: - (cost === null && apiRequestFailedMessage) || apiReqStreamingFailedMessage + (cost == null && apiRequestFailedMessage) || apiReqStreamingFailedMessage ? 10 : 0, justifyContent: "space-between", @@ -524,13 +524,13 @@ export const ChatRowContent = ({

{icon} {title} - + 0 ? 1 : 0 }}> ${Number(cost || 0)?.toFixed(4)}
- {((cost === null && apiRequestFailedMessage) || apiReqStreamingFailedMessage) && ( + {((cost == null && apiRequestFailedMessage) || apiReqStreamingFailedMessage) && ( <>

{apiRequestFailedMessage || apiReqStreamingFailedMessage} diff --git a/webview-ui/src/components/chat/ChatView.tsx b/webview-ui/src/components/chat/ChatView.tsx index 3f58c7a..519b7e5 100644 --- a/webview-ui/src/components/chat/ChatView.tsx +++ b/webview-ui/src/components/chat/ChatView.tsx @@ -275,7 +275,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie return true } else { const lastApiReqStarted = findLast(modifiedMessages, (message) => message.say === "api_req_started") - if (lastApiReqStarted && lastApiReqStarted.text && lastApiReqStarted.say === "api_req_started") { + if (lastApiReqStarted && lastApiReqStarted.text != null && lastApiReqStarted.say === "api_req_started") { const cost = JSON.parse(lastApiReqStarted.text).cost if (cost === undefined) { // api request has not finished yet @@ -718,9 +718,9 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie if (message.say === "api_req_started") { // get last api_req_started in currentGroup to check if it's cancelled. If it is then this api req is not part of the current browser session const lastApiReqStarted = [...currentGroup].reverse().find((m) => m.say === "api_req_started") - if (lastApiReqStarted?.text) { + if (lastApiReqStarted?.text != null) { const info = JSON.parse(lastApiReqStarted.text) - const isCancelled = info.cancelReason !== null + const isCancelled = info.cancelReason != null if (isCancelled) { endBrowserSession() result.push(message) diff --git a/webview-ui/src/components/welcome/WelcomeView.tsx b/webview-ui/src/components/welcome/WelcomeView.tsx index d72d856..3e3bbd7 100644 --- a/webview-ui/src/components/welcome/WelcomeView.tsx +++ b/webview-ui/src/components/welcome/WelcomeView.tsx @@ -10,7 +10,7 @@ const WelcomeView = () => { const [apiErrorMessage, setApiErrorMessage] = useState(undefined) - const disableLetsGoButton = !!apiErrorMessage + const disableLetsGoButton = apiErrorMessage != null const handleSubmit = () => { vscode.postMessage({ type: "apiConfiguration", apiConfiguration }) From 9d1d7267518082025be8cf1e6b26bc0e8e81b149 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 09:46:05 -0500 Subject: [PATCH 03/67] Remove webview-specific lint rules --- webview-ui/.eslintrc.json | 40 --------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 webview-ui/.eslintrc.json diff --git a/webview-ui/.eslintrc.json b/webview-ui/.eslintrc.json deleted file mode 100644 index 0c69367..0000000 --- a/webview-ui/.eslintrc.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "root": true, - "extends": [ - "eslint:recommended", - "plugin:react/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:react-hooks/recommended" - ], - "parser": "@typescript-eslint/parser", - "plugins": ["react", "@typescript-eslint", "react-hooks"], - "rules": { - "react/react-in-jsx-scope": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-explicit-any": "warn", - "react/display-name": "warn", - "no-case-declarations": "warn", - "react/no-unescaped-entities": "warn", - "react/jsx-key": "warn", - "no-extra-semi": "warn", - "@typescript-eslint/no-var-requires": "warn", - "@typescript-eslint/no-unused-vars": [ - "warn", - { - "argsIgnorePattern": "^_", - "varsIgnorePattern": "^_", - "caughtErrorsIgnorePattern": "^_" - } - ] - }, - "settings": { - "react": { - "version": "detect" - } - }, - "env": { - "browser": true, - "es2021": true, - "node": true - } -} From 1a400508141ebb4ed907de04be04cf018cb7cf56 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 09:47:52 -0500 Subject: [PATCH 04/67] Add @cte as codeowner --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8032afe..c4c59d4 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,2 @@ # These owners will be the default owners for everything in the repo -* @stea9499 @ColemanRoo @mrubens \ No newline at end of file +* @stea9499 @ColemanRoo @mrubens @cte From edb03d569ae1a7e448519eb1c84b941c5bad4ce7 Mon Sep 17 00:00:00 2001 From: Shane Mattner Date: Fri, 31 Jan 2025 11:25:59 -0800 Subject: [PATCH 05/67] Initial documentation setup with Jekyll and Just the Docs --- docs/_config.yml | 15 +++++++++++++++ docs/getting-started/index.md | 10 ++++++++++ docs/index.md | 9 +++++++++ 3 files changed, 34 insertions(+) create mode 100644 docs/_config.yml create mode 100644 docs/getting-started/index.md create mode 100644 docs/index.md diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..22e1ec7 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,15 @@ +title: Roo Documentation +description: Documentation for the Roo project +theme: just-the-docs + +url: https://yourusername.github.io/repo-name + +aux_links: + "Roo on GitHub": + - "//github.com/yourusername/repo-name" + +# Enable search +search_enabled: true + +# Enable dark mode +color_scheme: dark \ No newline at end of file diff --git a/docs/getting-started/index.md b/docs/getting-started/index.md new file mode 100644 index 0000000..1c17aa0 --- /dev/null +++ b/docs/getting-started/index.md @@ -0,0 +1,10 @@ +--- +title: Getting Started +layout: default +nav_order: 2 +has_children: true +--- + +# Getting Started with Roo + +This section will help you get up and running with Roo quickly. \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..3f18353 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,9 @@ +--- +title: Home +layout: home +nav_order: 1 +--- + +# Welcome to Roo Documentation + +This is the documentation for Roo. Choose a section from the navigation menu to get started. \ No newline at end of file From 136672914af288f92b4f4e50ea2a17e7786b6d31 Mon Sep 17 00:00:00 2001 From: Shane Mattner Date: Fri, 31 Jan 2025 11:26:49 -0800 Subject: [PATCH 06/67] add workflow --- .github/workflows/pages.yml | 53 +++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/pages.yml diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..0846889 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,53 @@ +name: Deploy Jekyll site to Pages + +on: + push: + branches: ["main"] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.1' + bundler-cache: true + - name: Setup Pages + id: pages + uses: actions/configure-pages@v3 + - name: Build with Jekyll + run: | + cd docs + bundle init + echo 'gem "jekyll"' >> Gemfile + echo 'gem "just-the-docs"' >> Gemfile + bundle install + bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" + env: + JEKYLL_ENV: production + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 \ No newline at end of file From 005ac8b7c3f21aed5454d5473fd28af9eb34c88e Mon Sep 17 00:00:00 2001 From: Shane Mattner Date: Fri, 31 Jan 2025 11:29:14 -0800 Subject: [PATCH 07/67] fix errors --- .github/workflows/pages.yml | 4 ++-- docs/_config.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 0846889..948ab75 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -32,8 +32,8 @@ jobs: run: | cd docs bundle init - echo 'gem "jekyll"' >> Gemfile - echo 'gem "just-the-docs"' >> Gemfile + echo 'source "https://rubygems.org"' >> Gemfile + echo 'gem "github-pages", group: :jekyll_plugins' >> Gemfile bundle install bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" env: diff --git a/docs/_config.yml b/docs/_config.yml index 22e1ec7..88bfa3b 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,6 +1,6 @@ title: Roo Documentation description: Documentation for the Roo project -theme: just-the-docs +remote_theme: just-the-docs/just-the-docs url: https://yourusername.github.io/repo-name From 6737a3e86d52a5d70d4c2a56f5e5c3c4ecb82be0 Mon Sep 17 00:00:00 2001 From: Shane Mattner Date: Fri, 31 Jan 2025 11:32:59 -0800 Subject: [PATCH 08/67] change config --- docs/_config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/_config.yml b/docs/_config.yml index 88bfa3b..147e4d2 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -2,11 +2,11 @@ title: Roo Documentation description: Documentation for the Roo project remote_theme: just-the-docs/just-the-docs -url: https://yourusername.github.io/repo-name +url: https://shanemmattner.github.io/roo-code aux_links: "Roo on GitHub": - - "//github.com/yourusername/repo-name" + - "//github.com/shanemmattner/roo-code" # Enable search search_enabled: true From a276b1b361cd0cb9cb939ad39131811db89b5060 Mon Sep 17 00:00:00 2001 From: Shane Mattner Date: Fri, 31 Jan 2025 11:42:35 -0800 Subject: [PATCH 09/67] Add Gemfile for GitHub Pages --- docs/Gemfile | 2 + docs/Gemfile.lock | 261 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 263 insertions(+) create mode 100644 docs/Gemfile create mode 100644 docs/Gemfile.lock diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 0000000..91ceacd --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'github-pages', group: :jekyll_plugins \ No newline at end of file diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock new file mode 100644 index 0000000..43c7461 --- /dev/null +++ b/docs/Gemfile.lock @@ -0,0 +1,261 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (6.1.7.10) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + base64 (0.2.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (1.1.0) + commonmarker (0.23.11) + concurrent-ruby (1.3.5) + dnsruby (1.72.3) + base64 (~> 0.2.0) + simpleidn (~> 0.2.1) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.10.0) + faraday (2.8.1) + base64 + faraday-net_http (>= 2.0, < 3.1) + ruby2_keywords (>= 0.0.4) + faraday-net_http (3.0.2) + ffi (1.17.1) + forwardable-extended (2.6.0) + gemoji (4.1.0) + github-pages (231) + github-pages-health-check (= 1.18.2) + jekyll (= 3.9.5) + jekyll-avatar (= 0.8.0) + jekyll-coffeescript (= 1.2.2) + jekyll-commonmark-ghpages (= 0.4.0) + jekyll-default-layout (= 0.1.5) + jekyll-feed (= 0.17.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.16.1) + jekyll-include-cache (= 0.2.1) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.8.0) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.13.0) + kramdown (= 2.4.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.4) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.13.6, < 2.0) + rouge (= 3.30.0) + terminal-table (~> 1.4) + github-pages-health-check (1.18.2) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (>= 4, < 8) + public_suffix (>= 3.0, < 6.0) + typhoeus (~> 1.3) + html-pipeline (2.14.3) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.8.0) + i18n (1.14.7) + concurrent-ruby (~> 1.0) + jekyll (3.9.5) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (>= 0.7, < 2) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.8.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.2.2) + coffee-script (~> 2.2) + coffee-script-source (~> 1.12) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.4.0) + commonmarker (~> 0.23.7) + jekyll (~> 3.9.0) + jekyll-commonmark (~> 1.4.0) + rouge (>= 2.0, < 5.0) + jekyll-default-layout (0.1.5) + jekyll (>= 3.0, < 5.0) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.16.1) + jekyll (>= 3.4, < 5.0) + octokit (>= 4, < 7, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.13.0) + gemoji (>= 3, < 5) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + mini_portile2 (2.8.8) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.25.4) + nokogiri (1.13.10) + mini_portile2 (~> 2.8.0) + racc (~> 1.4) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (5.1.1) + racc (1.8.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rexml (3.4.0) + rouge (3.30.0) + ruby2_keywords (0.0.5) + rubyzip (2.4.1) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + simpleidn (0.2.3) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + typhoeus (1.4.1) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (1.8.0) + zeitwerk (2.6.18) + +PLATFORMS + ruby + +DEPENDENCIES + github-pages + +BUNDLED WITH + 1.17.2 From 49375cf3ce497580e650c8cf1393c0fe5e0d3b5c Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 15:18:17 -0500 Subject: [PATCH 10/67] Updates --- docs/Gemfile.lock | 97 ++++++++++++++++++++++++++--------- docs/_config.yml | 10 ++-- docs/getting-started/index.md | 4 +- docs/index.md | 4 +- 4 files changed, 81 insertions(+), 34 deletions(-) diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index 43c7461..a08fc8b 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -1,15 +1,24 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.1.7.10) - concurrent-ruby (~> 1.0, >= 1.0.2) + activesupport (8.0.1) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - tzinfo (~> 2.0) - zeitwerk (~> 2.3) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.9) coffee-script (2.4.1) coffee-script-source execjs @@ -17,9 +26,12 @@ GEM colorator (1.1.0) commonmarker (0.23.11) concurrent-ruby (1.3.5) + connection_pool (2.5.0) + csv (3.3.2) dnsruby (1.72.3) base64 (~> 0.2.0) simpleidn (~> 0.2.1) + drb (2.2.1) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) @@ -27,20 +39,28 @@ GEM ffi (>= 1.15.0) eventmachine (1.2.7) execjs (2.10.0) - faraday (2.8.1) - base64 - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.2) - ffi (1.17.1) + faraday (2.12.2) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.0) + net-http (>= 0.5.0) + ffi (1.17.1-aarch64-linux-gnu) + ffi (1.17.1-aarch64-linux-musl) + ffi (1.17.1-arm-linux-gnu) + ffi (1.17.1-arm-linux-musl) + ffi (1.17.1-arm64-darwin) + ffi (1.17.1-x86_64-darwin) + ffi (1.17.1-x86_64-linux-gnu) + ffi (1.17.1-x86_64-linux-musl) forwardable-extended (2.6.0) gemoji (4.1.0) - github-pages (231) + github-pages (232) github-pages-health-check (= 1.18.2) - jekyll (= 3.9.5) + jekyll (= 3.10.0) jekyll-avatar (= 0.8.0) jekyll-coffeescript (= 1.2.2) - jekyll-commonmark-ghpages (= 0.4.0) + jekyll-commonmark-ghpages (= 0.5.1) jekyll-default-layout (= 0.1.5) jekyll-feed (= 0.17.0) jekyll-gist (= 1.5.0) @@ -77,9 +97,10 @@ GEM liquid (= 4.0.4) mercenary (~> 0.3) minima (= 2.5.1) - nokogiri (>= 1.13.6, < 2.0) + nokogiri (>= 1.16.2, < 2.0) rouge (= 3.30.0) terminal-table (~> 1.4) + webrick (~> 1.8) github-pages-health-check (1.18.2) addressable (~> 2.3) dnsruby (~> 1.60) @@ -92,9 +113,10 @@ GEM http_parser.rb (0.8.0) i18n (1.14.7) concurrent-ruby (~> 1.0) - jekyll (3.9.5) + jekyll (3.10.0) addressable (~> 2.4) colorator (~> 1.0) + csv (~> 3.0) em-websocket (~> 0.5) i18n (>= 0.7, < 2) jekyll-sass-converter (~> 1.0) @@ -105,6 +127,7 @@ GEM pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) + webrick (>= 1.0) jekyll-avatar (0.8.0) jekyll (>= 3.0, < 5.0) jekyll-coffeescript (1.2.2) @@ -112,9 +135,9 @@ GEM coffee-script-source (~> 1.12) jekyll-commonmark (1.4.0) commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.4.0) - commonmarker (~> 0.23.7) - jekyll (~> 3.9.0) + jekyll-commonmark-ghpages (0.5.1) + commonmarker (>= 0.23.7, < 1.1.0) + jekyll (>= 3.9, < 4.0) jekyll-commonmark (~> 1.4.0) rouge (>= 2.0, < 5.0) jekyll-default-layout (0.1.5) @@ -200,6 +223,7 @@ GEM gemoji (>= 3, < 5) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) + json (2.9.1) kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) @@ -208,15 +232,30 @@ GEM listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.5) mercenary (0.3.6) - mini_portile2 (2.8.8) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.25.4) - nokogiri (1.13.10) - mini_portile2 (~> 2.8.0) + net-http (0.6.0) + uri + nokogiri (1.18.2-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.2-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.18.2-arm-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.2-arm-linux-musl) + racc (~> 1.4) + nokogiri (1.18.2-arm64-darwin) + racc (~> 1.4) + nokogiri (1.18.2-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.18.2-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.2-x86_64-linux-musl) racc (~> 1.4) octokit (4.25.1) faraday (>= 1, < 3) @@ -230,7 +269,6 @@ GEM ffi (~> 1.0) rexml (3.4.0) rouge (3.30.0) - ruby2_keywords (0.0.5) rubyzip (2.4.1) safe_yaml (1.0.5) sass (3.7.4) @@ -241,6 +279,7 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) + securerandom (0.4.1) simpleidn (0.2.3) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) @@ -249,13 +288,21 @@ GEM tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (1.8.0) - zeitwerk (2.6.18) + uri (1.0.2) + webrick (1.9.1) PLATFORMS - ruby + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES github-pages BUNDLED WITH - 1.17.2 + 2.5.18 diff --git a/docs/_config.yml b/docs/_config.yml index 147e4d2..2085aaa 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,12 +1,12 @@ -title: Roo Documentation -description: Documentation for the Roo project +title: Roo Code Documentation +description: Documentation for the Roo Code project remote_theme: just-the-docs/just-the-docs -url: https://shanemmattner.github.io/roo-code +url: https://docs.roocode.com aux_links: - "Roo on GitHub": - - "//github.com/shanemmattner/roo-code" + "Roo Code on GitHub": + - "//github.com/RooVetGit/Roo-Code" # Enable search search_enabled: true diff --git a/docs/getting-started/index.md b/docs/getting-started/index.md index 1c17aa0..9b0f385 100644 --- a/docs/getting-started/index.md +++ b/docs/getting-started/index.md @@ -5,6 +5,6 @@ nav_order: 2 has_children: true --- -# Getting Started with Roo +# Getting Started with Roo Code -This section will help you get up and running with Roo quickly. \ No newline at end of file +This section will help you get up and running with Roo Code quickly. diff --git a/docs/index.md b/docs/index.md index 3f18353..0cf6022 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,6 +4,6 @@ layout: home nav_order: 1 --- -# Welcome to Roo Documentation +# Welcome to Roo Code Documentation -This is the documentation for Roo. Choose a section from the navigation menu to get started. \ No newline at end of file +This is the documentation for Roo Code. Choose a section from the navigation menu to get started. From b8ab396d3fcb3c2a4823b4e64e47bb1935e57d14 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 15:27:44 -0500 Subject: [PATCH 11/67] Try to fix pages gha --- .github/workflows/pages.yml | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 948ab75..35e979d 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -15,32 +15,23 @@ concurrency: cancel-in-progress: false jobs: + # Build job build: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: '3.1' - bundler-cache: true + uses: actions/checkout@v4 - name: Setup Pages - id: pages - uses: actions/configure-pages@v3 + uses: actions/configure-pages@v5 - name: Build with Jekyll - run: | - cd docs - bundle init - echo 'source "https://rubygems.org"' >> Gemfile - echo 'gem "github-pages", group: :jekyll_plugins' >> Gemfile - bundle install - bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" - env: - JEKYLL_ENV: production + uses: actions/jekyll-build-pages@v1 + with: + source: ./ + destination: ./_site - name: Upload artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-pages-artifact@v3 + # Deployment job deploy: environment: name: github-pages @@ -50,4 +41,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v2 \ No newline at end of file + uses: actions/deploy-pages@v4 From 4333b2726a31b349ad090a4614914edd8e59b17e Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 15:28:30 -0500 Subject: [PATCH 12/67] Update gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index b508d9d..95f7106 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,6 @@ roo-cline-*.vsix # Test environment .test_env .vscode-test/ + +# Docs +docs/_site/ From 4393269486be19f0607b17a9cd94b64f9f17ee7c Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 15:56:11 -0500 Subject: [PATCH 13/67] Set jekyll baseurl --- docs/_config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/_config.yml b/docs/_config.yml index 2085aaa..5f0ef4d 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -3,6 +3,7 @@ description: Documentation for the Roo Code project remote_theme: just-the-docs/just-the-docs url: https://docs.roocode.com +baseurl: /docs aux_links: "Roo Code on GitHub": @@ -12,4 +13,4 @@ aux_links: search_enabled: true # Enable dark mode -color_scheme: dark \ No newline at end of file +color_scheme: dark From 30198aa3b92f4622f2c71c556016ed104cc3d6aa Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 16:01:02 -0500 Subject: [PATCH 14/67] Update _config.yml --- docs/_config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/_config.yml b/docs/_config.yml index 5f0ef4d..8d2cfe4 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -3,7 +3,6 @@ description: Documentation for the Roo Code project remote_theme: just-the-docs/just-the-docs url: https://docs.roocode.com -baseurl: /docs aux_links: "Roo Code on GitHub": From 98f17088b512e1a9764753a70ff925c8dbad4547 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 16:01:58 -0500 Subject: [PATCH 15/67] Update pages.yml --- .github/workflows/pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 35e979d..ac551eb 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -26,7 +26,7 @@ jobs: - name: Build with Jekyll uses: actions/jekyll-build-pages@v1 with: - source: ./ + source: ./docs/ destination: ./_site - name: Upload artifact uses: actions/upload-pages-artifact@v3 From 58fdb6f9ef5d92b0c794408f9f9b3bf4a7a0b3ef Mon Sep 17 00:00:00 2001 From: Anton Shpigunov Date: Fri, 31 Jan 2025 23:09:05 +0200 Subject: [PATCH 16/67] support o3-mini --- src/api/providers/__tests__/openai-native.test.ts | 14 ++++++++++++++ src/shared/api.ts | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/src/api/providers/__tests__/openai-native.test.ts b/src/api/providers/__tests__/openai-native.test.ts index f1da211..2e9f4f7 100644 --- a/src/api/providers/__tests__/openai-native.test.ts +++ b/src/api/providers/__tests__/openai-native.test.ts @@ -289,6 +289,20 @@ describe("OpenAiNativeHandler", () => { }) }) + it("should complete prompt successfully with o3-mini model", async () => { + handler = new OpenAiNativeHandler({ + apiModelId: "o3-mini", + openAiNativeApiKey: "test-api-key", + }) + + const result = await handler.completePrompt("Test prompt") + expect(result).toBe("Test response") + expect(mockCreate).toHaveBeenCalledWith({ + model: "o3-mini", + messages: [{ role: "user", content: "Test prompt" }], + }) + }) + it("should handle API errors", async () => { mockCreate.mockRejectedValueOnce(new Error("API Error")) await expect(handler.completePrompt("Test prompt")).rejects.toThrow( diff --git a/src/shared/api.ts b/src/shared/api.ts index e5bcda4..7da67fd 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -510,6 +510,14 @@ export type OpenAiNativeModelId = keyof typeof openAiNativeModels export const openAiNativeDefaultModelId: OpenAiNativeModelId = "gpt-4o" export const openAiNativeModels = { // don't support tool use yet + "o3-mini": { + maxTokens: 100_000, + contextWindow: 200_000, + supportsImages: false, + supportsPromptCache: false, + inputPrice: 1.1, + outputPrice: 4.4, + }, o1: { maxTokens: 100_000, contextWindow: 200_000, From 7329e945b474cbb58c6e6a4aead33ba62f2394a1 Mon Sep 17 00:00:00 2001 From: Anton Shpigunov Date: Fri, 31 Jan 2025 23:19:17 +0200 Subject: [PATCH 17/67] Add expectation to match actual API response in tests --- src/api/providers/__tests__/openai-native.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/api/providers/__tests__/openai-native.test.ts b/src/api/providers/__tests__/openai-native.test.ts index 2e9f4f7..4488bd3 100644 --- a/src/api/providers/__tests__/openai-native.test.ts +++ b/src/api/providers/__tests__/openai-native.test.ts @@ -300,6 +300,7 @@ describe("OpenAiNativeHandler", () => { expect(mockCreate).toHaveBeenCalledWith({ model: "o3-mini", messages: [{ role: "user", content: "Test prompt" }], + temperature: 0, }) }) From af9231d22db8d19e42ee16af37699c65938efa13 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 16:35:32 -0500 Subject: [PATCH 18/67] Make o3-mini work --- src/api/providers/openai-native.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/api/providers/openai-native.ts b/src/api/providers/openai-native.ts index 0b8908d..ef98ade 100644 --- a/src/api/providers/openai-native.ts +++ b/src/api/providers/openai-native.ts @@ -27,7 +27,8 @@ export class OpenAiNativeHandler implements ApiHandler, SingleCompletionHandler switch (modelId) { case "o1": case "o1-preview": - case "o1-mini": { + case "o1-mini": + case "o3-mini": { // o1-preview and o1-mini don't support streaming, non-1 temp, or system prompt // o1 doesnt support streaming or non-1 temp but does support a developer prompt const response = await this.client.chat.completions.create({ From 9aeb498f991862a3b32775a0d523d5ef7744f70c Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 14:17:09 -0500 Subject: [PATCH 19/67] Add optional rate limiting between API calls --- src/core/Cline.ts | 34 ++++++++++++++++++- src/core/__tests__/Cline.test.ts | 7 ++-- src/core/webview/ClineProvider.ts | 10 ++++++ .../webview/__tests__/ClineProvider.test.ts | 1 + src/shared/ExtensionMessage.ts | 1 + src/shared/WebviewMessage.ts | 1 + .../chat/__tests__/AutoApproveMenu.test.tsx | 2 ++ .../src/components/settings/SettingsView.tsx | 23 +++++++++++++ .../src/context/ExtensionStateContext.tsx | 4 +++ 9 files changed, 80 insertions(+), 3 deletions(-) diff --git a/src/core/Cline.ts b/src/core/Cline.ts index 0c0bd37..478811c 100644 --- a/src/core/Cline.ts +++ b/src/core/Cline.ts @@ -96,6 +96,7 @@ export class Cline { didFinishAborting = false abandoned = false private diffViewProvider: DiffViewProvider + private lastApiRequestTime?: number // streaming private currentStreamingContentIndex = 0 @@ -796,9 +797,40 @@ export class Cline { async *attemptApiRequest(previousApiReqIndex: number, retryAttempt: number = 0): ApiStream { let mcpHub: McpHub | undefined - const { mcpEnabled, alwaysApproveResubmit, requestDelaySeconds } = + const { mcpEnabled, alwaysApproveResubmit, requestDelaySeconds, rateLimitSeconds } = (await this.providerRef.deref()?.getState()) ?? {} + let finalDelay = 0 + + // Only apply rate limiting if this isn't the first request + if (this.lastApiRequestTime) { + const now = Date.now() + const timeSinceLastRequest = now - this.lastApiRequestTime + const rateLimit = rateLimitSeconds || 0 + const rateLimitDelay = Math.max(0, rateLimit * 1000 - timeSinceLastRequest) + finalDelay = rateLimitDelay + } + + // Add exponential backoff delay for retries + if (retryAttempt > 0) { + const baseDelay = requestDelaySeconds || 5 + const exponentialDelay = Math.ceil(baseDelay * Math.pow(2, retryAttempt)) * 1000 + finalDelay = Math.max(finalDelay, exponentialDelay) + } + + if (finalDelay > 0) { + // Show countdown timer + for (let i = Math.ceil(finalDelay / 1000); i > 0; i--) { + const delayMessage = + retryAttempt > 0 ? `Retrying in ${i} seconds...` : `Rate limiting for ${i} seconds...` + await this.say("api_req_retry_delayed", delayMessage, undefined, true) + await delay(1000) + } + } + + // Update last request time before making the request + this.lastApiRequestTime = Date.now() + if (mcpEnabled ?? true) { mcpHub = this.providerRef.deref()?.mcpHub if (!mcpHub) { diff --git a/src/core/__tests__/Cline.test.ts b/src/core/__tests__/Cline.test.ts index f868d17..e49b660 100644 --- a/src/core/__tests__/Cline.test.ts +++ b/src/core/__tests__/Cline.test.ts @@ -750,8 +750,11 @@ describe("Cline", () => { false, ) - // Verify delay was called correctly - expect(mockDelay).toHaveBeenCalledTimes(baseDelay) + // Calculate expected delay calls based on exponential backoff + const exponentialDelay = Math.ceil(baseDelay * Math.pow(2, 1)) // retryAttempt = 1 + const rateLimitDelay = baseDelay // Initial rate limit delay + const totalExpectedDelays = exponentialDelay + rateLimitDelay + expect(mockDelay).toHaveBeenCalledTimes(totalExpectedDelays) expect(mockDelay).toHaveBeenCalledWith(1000) // Verify error message content diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index ffb9848..139ed90 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -112,6 +112,7 @@ type GlobalStateKey = | "mcpEnabled" | "alwaysApproveResubmit" | "requestDelaySeconds" + | "rateLimitSeconds" | "currentApiConfigName" | "listApiConfigMeta" | "vsCodeLmModelSelector" @@ -886,6 +887,10 @@ export class ClineProvider implements vscode.WebviewViewProvider { await this.updateGlobalState("requestDelaySeconds", message.value ?? 5) await this.postStateToWebview() break + case "rateLimitSeconds": + await this.updateGlobalState("rateLimitSeconds", message.value ?? 0) + await this.postStateToWebview() + break case "preferredLanguage": await this.updateGlobalState("preferredLanguage", message.text) await this.postStateToWebview() @@ -1997,6 +2002,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { mcpEnabled, alwaysApproveResubmit, requestDelaySeconds, + rateLimitSeconds, currentApiConfigName, listApiConfigMeta, mode, @@ -2038,6 +2044,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { mcpEnabled: mcpEnabled ?? true, alwaysApproveResubmit: alwaysApproveResubmit ?? false, requestDelaySeconds: requestDelaySeconds ?? 10, + rateLimitSeconds: rateLimitSeconds ?? 0, currentApiConfigName: currentApiConfigName ?? "default", listApiConfigMeta: listApiConfigMeta ?? [], mode: mode ?? defaultModeSlug, @@ -2161,6 +2168,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { mcpEnabled, alwaysApproveResubmit, requestDelaySeconds, + rateLimitSeconds, currentApiConfigName, listApiConfigMeta, vsCodeLmModelSelector, @@ -2233,6 +2241,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { this.getGlobalState("mcpEnabled") as Promise, this.getGlobalState("alwaysApproveResubmit") as Promise, this.getGlobalState("requestDelaySeconds") as Promise, + this.getGlobalState("rateLimitSeconds") as Promise, this.getGlobalState("currentApiConfigName") as Promise, this.getGlobalState("listApiConfigMeta") as Promise, this.getGlobalState("vsCodeLmModelSelector") as Promise, @@ -2355,6 +2364,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { mcpEnabled: mcpEnabled ?? true, alwaysApproveResubmit: alwaysApproveResubmit ?? false, requestDelaySeconds: Math.max(5, requestDelaySeconds ?? 10), + rateLimitSeconds: rateLimitSeconds ?? 0, currentApiConfigName: currentApiConfigName ?? "default", listApiConfigMeta: listApiConfigMeta ?? [], modeApiConfigs: modeApiConfigs ?? ({} as Record), diff --git a/src/core/webview/__tests__/ClineProvider.test.ts b/src/core/webview/__tests__/ClineProvider.test.ts index 2538e7e..a96cf87 100644 --- a/src/core/webview/__tests__/ClineProvider.test.ts +++ b/src/core/webview/__tests__/ClineProvider.test.ts @@ -324,6 +324,7 @@ describe("ClineProvider", () => { fuzzyMatchThreshold: 1.0, mcpEnabled: true, requestDelaySeconds: 5, + rateLimitSeconds: 0, mode: defaultModeSlug, customModes: [], experiments: experimentDefault, diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index a226beb..7eacfca 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -94,6 +94,7 @@ export interface ExtensionState { alwaysApproveResubmit?: boolean alwaysAllowModeSwitch?: boolean requestDelaySeconds: number + rateLimitSeconds: number // Minimum time between successive requests (0 = disabled) uriScheme?: string allowedCommands?: string[] soundEnabled?: boolean diff --git a/src/shared/WebviewMessage.ts b/src/shared/WebviewMessage.ts index 357a237..719d25a 100644 --- a/src/shared/WebviewMessage.ts +++ b/src/shared/WebviewMessage.ts @@ -66,6 +66,7 @@ export interface WebviewMessage { | "refreshGlamaModels" | "alwaysApproveResubmit" | "requestDelaySeconds" + | "rateLimitSeconds" | "setApiConfigPassword" | "requestVsCodeLmModels" | "mode" diff --git a/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx b/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx index 1bfbc08..491a917 100644 --- a/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx +++ b/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx @@ -28,6 +28,7 @@ describe("AutoApproveMenu", () => { terminalOutputLineLimit: 500, mcpEnabled: true, requestDelaySeconds: 5, + rateLimitSeconds: 0, currentApiConfigName: "default", listApiConfigMeta: [], mode: defaultModeSlug, @@ -78,6 +79,7 @@ describe("AutoApproveMenu", () => { setMcpEnabled: jest.fn(), setAlwaysApproveResubmit: jest.fn(), setRequestDelaySeconds: jest.fn(), + setRateLimitSeconds: jest.fn(), setCurrentApiConfigName: jest.fn(), setListApiConfigMeta: jest.fn(), onUpdateApiConfig: jest.fn(), diff --git a/webview-ui/src/components/settings/SettingsView.tsx b/webview-ui/src/components/settings/SettingsView.tsx index 187d4cb..c81c372 100644 --- a/webview-ui/src/components/settings/SettingsView.tsx +++ b/webview-ui/src/components/settings/SettingsView.tsx @@ -53,6 +53,8 @@ const SettingsView = ({ onDone }: SettingsViewProps) => { setAlwaysApproveResubmit, requestDelaySeconds, setRequestDelaySeconds, + rateLimitSeconds, + setRateLimitSeconds, currentApiConfigName, listApiConfigMeta, experiments, @@ -92,6 +94,7 @@ const SettingsView = ({ onDone }: SettingsViewProps) => { vscode.postMessage({ type: "mcpEnabled", bool: mcpEnabled }) vscode.postMessage({ type: "alwaysApproveResubmit", bool: alwaysApproveResubmit }) vscode.postMessage({ type: "requestDelaySeconds", value: requestDelaySeconds }) + vscode.postMessage({ type: "rateLimitSeconds", value: rateLimitSeconds }) vscode.postMessage({ type: "currentApiConfigName", text: currentApiConfigName }) vscode.postMessage({ type: "upsertApiConfiguration", @@ -572,6 +575,26 @@ const SettingsView = ({ onDone }: SettingsViewProps) => {

Advanced Settings

+
+
+ Rate limit +
+ setRateLimitSeconds(parseInt(e.target.value))} + style={{ ...sliderStyle }} + /> + {rateLimitSeconds}s +
+
+

+ Minimum time between API requests. +

+
Terminal output limit diff --git a/webview-ui/src/context/ExtensionStateContext.tsx b/webview-ui/src/context/ExtensionStateContext.tsx index 9738edf..7adf500 100644 --- a/webview-ui/src/context/ExtensionStateContext.tsx +++ b/webview-ui/src/context/ExtensionStateContext.tsx @@ -55,6 +55,8 @@ export interface ExtensionStateContextType extends ExtensionState { setAlwaysApproveResubmit: (value: boolean) => void requestDelaySeconds: number setRequestDelaySeconds: (value: number) => void + rateLimitSeconds: number + setRateLimitSeconds: (value: number) => void setCurrentApiConfigName: (value: string) => void setListApiConfigMeta: (value: ApiConfigMeta[]) => void onUpdateApiConfig: (apiConfig: ApiConfiguration) => void @@ -92,6 +94,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode mcpEnabled: true, alwaysApproveResubmit: false, requestDelaySeconds: 5, + rateLimitSeconds: 0, // Minimum time between successive requests (0 = disabled) currentApiConfigName: "default", listApiConfigMeta: [], mode: defaultModeSlug, @@ -271,6 +274,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode setMcpEnabled: (value) => setState((prevState) => ({ ...prevState, mcpEnabled: value })), setAlwaysApproveResubmit: (value) => setState((prevState) => ({ ...prevState, alwaysApproveResubmit: value })), setRequestDelaySeconds: (value) => setState((prevState) => ({ ...prevState, requestDelaySeconds: value })), + setRateLimitSeconds: (value) => setState((prevState) => ({ ...prevState, rateLimitSeconds: value })), setCurrentApiConfigName: (value) => setState((prevState) => ({ ...prevState, currentApiConfigName: value })), setListApiConfigMeta, onUpdateApiConfig, From 85d1d4a77b1591d2b4cd13f8cbb200c8e82d12ac Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 14:12:21 -0800 Subject: [PATCH 20/67] Run integration tests in CI --- .env.integration.example | 1 + .github/workflows/code-qa.yml | 35 +++- .gitignore | 6 +- .vscode-test.mjs | 9 +- flake.lock | 27 +++ flake.nix | 33 +++ package-lock.json | 176 +++++++++++++++- package.json | 10 +- src/core/webview/ClineProvider.ts | 22 +- src/test/extension.test.ts | 332 +++--------------------------- src/test/task.test.ts | 152 ++++++++++++++ src/test/tsconfig.json | 19 -- tsconfig.integration.json | 17 ++ 13 files changed, 491 insertions(+), 348 deletions(-) create mode 100644 .env.integration.example create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 src/test/task.test.ts delete mode 100644 src/test/tsconfig.json create mode 100644 tsconfig.integration.json diff --git a/.env.integration.example b/.env.integration.example new file mode 100644 index 0000000..392b97c --- /dev/null +++ b/.env.integration.example @@ -0,0 +1 @@ +OPEN_ROUTER_API_KEY=sk-or-v1-... diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index 19682b6..bfd88ed 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -1,6 +1,7 @@ name: Code QA Roo Code on: + workflow_dispatch: push: branches: [main] pull_request: @@ -13,33 +14,51 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 - - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '18' cache: 'npm' - - name: Install dependencies run: npm run install:all - - - name: Compile TypeScript + - name: Compile run: npm run compile + - name: Check types + run: npm run check-types + - name: Lint + run: npm run lint unit-test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '18' cache: 'npm' - - name: Install dependencies run: npm run install:all - - name: Run unit tests - run: npm test \ No newline at end of file + run: npm test + + integration-test: + strategy: + matrix: + os: [macos-latest] # ubuntu-latest, windows-latest + runs-on: ${{ matrix.os }} + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'npm' + - name: Install dependencies + run: npm run install:all + - run: xvfb-run -a npm test:integration + if: runner.os == 'Linux' + - run: npm test:integration + if: runner.os != 'Linux' diff --git a/.gitignore b/.gitignore index 95f7106..bf3b19e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ -out dist +out +out-integration node_modules coverage/ @@ -18,3 +19,6 @@ roo-cline-*.vsix # Docs docs/_site/ + +# Dotenv +.env.integration diff --git a/.vscode-test.mjs b/.vscode-test.mjs index 1ce01d1..dd77607 100644 --- a/.vscode-test.mjs +++ b/.vscode-test.mjs @@ -1,11 +1,16 @@ +/** + * See: https://code.visualstudio.com/api/working-with-extensions/testing-extension + */ + import { defineConfig } from '@vscode/test-cli'; export default defineConfig({ - files: 'src/test/extension.test.ts', + label: 'integrationTest', + files: 'out-integration/test/**/*.test.js', workspaceFolder: '.', mocha: { + ui: 'tdd', timeout: 60000, - ui: 'tdd' }, launchArgs: [ '--enable-proposed-api=RooVeterinaryInc.roo-cline', diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..5d5fa53 --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1737569578, + "narHash": "sha256-6qY0pk2QmUtBT9Mywdvif0i/CLVgpCjMUn6g9vB+f3M=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "47addd76727f42d351590c905d9d1905ca895b82", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..74c3c62 --- /dev/null +++ b/flake.nix @@ -0,0 +1,33 @@ +{ + description = "Roo Code development environment"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + }; + + outputs = { self, nixpkgs, ... }: let + systems = [ "aarch64-darwin" "x86_64-linux" ]; + + forAllSystems = nixpkgs.lib.genAttrs systems; + + mkDevShell = system: let + pkgs = import nixpkgs { inherit system; }; + in pkgs.mkShell { + name = "roo-code"; + + packages = with pkgs; [ + zsh + nodejs_18 + corepack_18 + ]; + + shellHook = '' + exec zsh + ''; + }; + in { + devShells = forAllSystems (system: { + default = mkDevShell system; + }); + }; +} diff --git a/package-lock.json b/package-lock.json index 93d82af..005f618 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,6 +55,7 @@ "devDependencies": { "@changesets/cli": "^2.27.10", "@changesets/types": "^6.0.0", + "@dotenvx/dotenvx": "^1.34.0", "@types/diff": "^5.2.1", "@types/diff-match-patch": "^1.0.36", "@types/jest": "^29.5.14", @@ -65,7 +66,6 @@ "@typescript-eslint/parser": "^7.11.0", "@vscode/test-cli": "^0.0.9", "@vscode/test-electron": "^2.4.0", - "dotenv": "^16.4.7", "esbuild": "^0.24.0", "eslint": "^8.57.0", "husky": "^9.1.7", @@ -3030,6 +3030,110 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/@dotenvx/dotenvx": { + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/@dotenvx/dotenvx/-/dotenvx-1.34.0.tgz", + "integrity": "sha512-+Dp/xaI3IZ4eKv+b2vg4V89VnqLKbmJ7UZ7unnZxMu9SNLOSc2jYaXey1YHCJM+67T0pOr2Gbej3TewnuoqTWQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "commander": "^11.1.0", + "dotenv": "^16.4.5", + "eciesjs": "^0.4.10", + "execa": "^5.1.1", + "fdir": "^6.2.0", + "ignore": "^5.3.0", + "object-treeify": "1.1.33", + "picomatch": "^4.0.2", + "which": "^4.0.0" + }, + "bin": { + "dotenvx": "src/cli/dotenvx.js", + "git-dotenvx": "src/cli/dotenvx.js" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/fdir": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@ecies/ciphers": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.2.tgz", + "integrity": "sha512-ylfGR7PyTd+Rm2PqQowG08BCKA22QuX8NzrL+LxAAvazN10DMwdJ2fWwAzRj05FI/M8vNFGm3cv9Wq/GFWCBLg==", + "dev": true, + "license": "MIT", + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + }, + "peerDependencies": { + "@noble/ciphers": "^1.0.0" + } + }, "node_modules/@esbuild/darwin-arm64": { "version": "0.24.0", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", @@ -3964,6 +4068,48 @@ "zod": "^3.23.8" } }, + "node_modules/@noble/ciphers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.2.1.tgz", + "integrity": "sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/curves": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.1.tgz", + "integrity": "sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.7.1" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz", + "integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -7772,6 +7918,24 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/eciesjs": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.13.tgz", + "integrity": "sha512-zBdtR4K+wbj10bWPpIOF9DW+eFYQu8miU5ypunh0t4Bvt83ZPlEWgT5Dq/0G6uwEXumZKjfb5BZxYUZQ2Hzn/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ecies/ciphers": "^0.2.2", + "@noble/ciphers": "^1.0.0", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0" + }, + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + } + }, "node_modules/eight-colors": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/eight-colors/-/eight-colors-1.3.1.tgz", @@ -12247,6 +12411,16 @@ "node": ">= 0.4" } }, + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/object.assign": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", diff --git a/package.json b/package.json index 638c1f6..7a0f5b8 100644 --- a/package.json +++ b/package.json @@ -221,16 +221,16 @@ "build:webview": "cd webview-ui && npm run build", "changeset": "changeset", "check-types": "tsc --noEmit", - "compile": "npm run check-types && npm run lint && node esbuild.js", - "compile-tests": "tsc -p . --outDir out", + "compile": "tsc -p . --outDir out && node esbuild.js", + "compile:integration": "tsc -p tsconfig.integration.json", "install:all": "npm install && cd webview-ui && npm install", "lint": "eslint src --ext ts && npm run lint --prefix webview-ui", "package": "npm run build:webview && npm run check-types && npm run lint && node esbuild.js --production", - "pretest": "npm run compile-tests && npm run compile && npm run lint", + "pretest": "npm run compile && npm run compile:integration", "dev": "cd webview-ui && npm run dev", "test": "jest && npm run test:webview", "test:webview": "cd webview-ui && npm run test", - "test:extension": "vscode-test", + "test:extension": "npm run build && npm run compile:integration && npx dotenvx run -f .env.integration -- vscode-test", "prepare": "husky", "publish:marketplace": "vsce publish && ovsx publish", "publish": "npm run build && changeset publish && npm install --package-lock-only", @@ -245,6 +245,7 @@ "devDependencies": { "@changesets/cli": "^2.27.10", "@changesets/types": "^6.0.0", + "@dotenvx/dotenvx": "^1.34.0", "@types/diff": "^5.2.1", "@types/diff-match-patch": "^1.0.36", "@types/jest": "^29.5.14", @@ -255,7 +256,6 @@ "@typescript-eslint/parser": "^7.11.0", "@vscode/test-cli": "^0.0.9", "@vscode/test-electron": "^2.4.0", - "dotenv": "^16.4.7", "esbuild": "^0.24.0", "eslint": "^8.57.0", "husky": "^9.1.7", diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 139ed90..671ecd8 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -19,15 +19,7 @@ import { findLast } from "../../shared/array" import { ApiConfigMeta, ExtensionMessage } from "../../shared/ExtensionMessage" import { HistoryItem } from "../../shared/HistoryItem" import { WebviewMessage } from "../../shared/WebviewMessage" -import { - Mode, - modes, - CustomModePrompts, - PromptComponent, - ModeConfig, - defaultModeSlug, - getModeBySlug, -} from "../../shared/modes" +import { Mode, CustomModePrompts, PromptComponent, defaultModeSlug } from "../../shared/modes" import { SYSTEM_PROMPT } from "../prompts/system" import { fileExistsAtPath } from "../../utils/fs" import { Cline } from "../Cline" @@ -37,7 +29,7 @@ import { getUri } from "./getUri" import { playSound, setSoundEnabled, setSoundVolume } from "../../utils/sound" import { checkExistKey } from "../../shared/checkExistApiConfig" import { singleCompletionHandler } from "../../utils/single-completion-handler" -import { getCommitInfo, searchCommits, getWorkingState } from "../../utils/git" +import { searchCommits } from "../../utils/git" import { ConfigManager } from "../config/ConfigManager" import { CustomModesManager } from "../config/CustomModesManager" import { EXPERIMENT_IDS, experiments as Experiments, experimentDefault, ExperimentId } from "../../shared/experiments" @@ -404,7 +396,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { ) } - public async postMessageToWebview(message: ExtensionMessage) { + public async postMessageToWebview(message: ExtensionMessage | WebviewMessage) { await this.view?.webview.postMessage(message) } @@ -2422,7 +2414,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { // secrets - private async storeSecret(key: SecretKey, value?: string) { + public async storeSecret(key: SecretKey, value?: string) { if (value) { await this.context.secrets.store(key, value) } else { @@ -2476,4 +2468,10 @@ export class ClineProvider implements vscode.WebviewViewProvider { await this.postStateToWebview() await this.postMessageToWebview({ type: "action", action: "chatButtonClicked" }) } + + // integration tests + + get messages() { + return this.cline?.clineMessages || [] + } } diff --git a/src/test/extension.test.ts b/src/test/extension.test.ts index aa6b780..975b5d9 100644 --- a/src/test/extension.test.ts +++ b/src/test/extension.test.ts @@ -1,121 +1,18 @@ -const assert = require("assert") -const vscode = require("vscode") -const path = require("path") -const fs = require("fs") -const dotenv = require("dotenv") +import * as assert from "assert" +import * as vscode from "vscode" -// Load test environment variables -const testEnvPath = path.join(__dirname, ".test_env") -dotenv.config({ path: testEnvPath }) - -suite("Roo Code Extension Test Suite", () => { - vscode.window.showInformationMessage("Starting Roo Code extension tests.") - - test("Extension should be present", () => { - const extension = vscode.extensions.getExtension("RooVeterinaryInc.roo-cline") - assert.notStrictEqual(extension, undefined) - }) - - test("Extension should activate", async () => { - const extension = vscode.extensions.getExtension("RooVeterinaryInc.roo-cline") - if (!extension) { - assert.fail("Extension not found") +suite("Roo Code Extension", () => { + test("OPEN_ROUTER_API_KEY environment variable is set", () => { + if (!process.env.OPEN_ROUTER_API_KEY) { + assert.fail("OPEN_ROUTER_API_KEY environment variable is not set") } - await extension.activate() - assert.strictEqual(extension.isActive, true) - }) - - test("OpenRouter API key and models should be configured correctly", function (done) { - // @ts-ignore - this.timeout(60000) // Increase timeout to 60s for network requests - ;(async () => { - try { - // Get extension instance - const extension = vscode.extensions.getExtension("RooVeterinaryInc.roo-cline") - if (!extension) { - done(new Error("Extension not found")) - return - } - - // Verify API key is set and valid - const apiKey = process.env.OPEN_ROUTER_API_KEY - if (!apiKey) { - done(new Error("OPEN_ROUTER_API_KEY environment variable is not set")) - return - } - if (!apiKey.startsWith("sk-or-v1-")) { - done(new Error("OpenRouter API key should have correct format")) - return - } - - // Activate extension and get provider - const api = await extension.activate() - if (!api) { - done(new Error("Extension API not found")) - return - } - - // Get the provider from the extension's exports - const provider = api.sidebarProvider - if (!provider) { - done(new Error("Provider not found")) - return - } - - // Set up the API configuration - await provider.updateGlobalState("apiProvider", "openrouter") - await provider.storeSecret("openRouterApiKey", apiKey) - - // Set up timeout to fail test if models don't load - const timeout = setTimeout(() => { - done(new Error("Timeout waiting for models to load")) - }, 30000) - - // Wait for models to be loaded - const checkModels = setInterval(async () => { - try { - const models = await provider.readOpenRouterModels() - if (!models) { - return - } - - clearInterval(checkModels) - clearTimeout(timeout) - - // Verify expected Claude models are available - const expectedModels = [ - "anthropic/claude-3.5-sonnet:beta", - "anthropic/claude-3-sonnet:beta", - "anthropic/claude-3.5-sonnet", - "anthropic/claude-3.5-sonnet-20240620", - "anthropic/claude-3.5-sonnet-20240620:beta", - "anthropic/claude-3.5-haiku:beta", - ] - - for (const modelId of expectedModels) { - assert.strictEqual(modelId in models, true, `Model ${modelId} should be available`) - } - - done() - } catch (error) { - clearInterval(checkModels) - clearTimeout(timeout) - done(error) - } - }, 1000) - - // Trigger model loading - await provider.refreshOpenRouterModels() - } catch (error) { - done(error) - } - })() }) test("Commands should be registered", async () => { - const commands = await vscode.commands.getCommands(true) + const timeout = 10 * 1_000 + const interval = 1_000 + const startTime = Date.now() - // Test core commands are registered const expectedCommands = [ "roo-cline.plusButtonClicked", "roo-cline.mcpButtonClicked", @@ -128,204 +25,39 @@ suite("Roo Code Extension Test Suite", () => { "roo-cline.improveCode", ] + while (Date.now() - startTime < timeout) { + const commands = await vscode.commands.getCommands(true) + const missingCommands = [] + + for (const cmd of expectedCommands) { + if (!commands.includes(cmd)) { + missingCommands.push(cmd) + } + } + + if (missingCommands.length === 0) { + break + } + + await new Promise((resolve) => setTimeout(resolve, interval)) + } + + const commands = await vscode.commands.getCommands(true) + for (const cmd of expectedCommands) { - assert.strictEqual(commands.includes(cmd), true, `Command ${cmd} should be registered`) + assert.ok(commands.includes(cmd), `Command ${cmd} should be registered`) } }) - test("Views should be registered", () => { + test("Webview panel can be created", () => { const view = vscode.window.createWebviewPanel( "roo-cline.SidebarProvider", "Roo Code", vscode.ViewColumn.One, {}, ) - assert.notStrictEqual(view, undefined) + + assert.ok(view, "Failed to create webview panel") view.dispose() }) - - test("Should handle prompt and response correctly", async function () { - // @ts-ignore - this.timeout(60000) // Increase timeout for API request - - const timeout = 30000 - const interval = 1000 - - // Get extension instance - const extension = vscode.extensions.getExtension("RooVeterinaryInc.roo-cline") - if (!extension) { - assert.fail("Extension not found") - return - } - - // Activate extension and get API - const api = await extension.activate() - if (!api) { - assert.fail("Extension API not found") - return - } - - // Get provider - const provider = api.sidebarProvider - if (!provider) { - assert.fail("Provider not found") - return - } - - // Set up API configuration - await provider.updateGlobalState("apiProvider", "openrouter") - await provider.updateGlobalState("openRouterModelId", "anthropic/claude-3.5-sonnet") - const apiKey = process.env.OPEN_ROUTER_API_KEY - if (!apiKey) { - assert.fail("OPEN_ROUTER_API_KEY environment variable is not set") - return - } - await provider.storeSecret("openRouterApiKey", apiKey) - - // Create webview panel with development options - const extensionUri = extension.extensionUri - const panel = vscode.window.createWebviewPanel("roo-cline.SidebarProvider", "Roo Code", vscode.ViewColumn.One, { - enableScripts: true, - enableCommandUris: true, - retainContextWhenHidden: true, - localResourceRoots: [extensionUri], - }) - - try { - // Initialize webview with development context - panel.webview.options = { - enableScripts: true, - enableCommandUris: true, - localResourceRoots: [extensionUri], - } - - // Initialize provider with panel - provider.resolveWebviewView(panel) - - // Set up message tracking - let webviewReady = false - let messagesReceived = false - const originalPostMessage = provider.postMessageToWebview.bind(provider) - // @ts-ignore - provider.postMessageToWebview = async (message) => { - if (message.type === "state") { - webviewReady = true - console.log("Webview state received:", message) - if (message.state?.clineMessages?.length > 0) { - messagesReceived = true - console.log("Messages in state:", message.state.clineMessages) - } - } - await originalPostMessage(message) - } - - // Wait for webview to launch and receive initial state - let startTime = Date.now() - while (Date.now() - startTime < timeout) { - if (webviewReady) { - // Wait an additional second for webview to fully initialize - await new Promise((resolve) => setTimeout(resolve, 1000)) - break - } - await new Promise((resolve) => setTimeout(resolve, interval)) - } - - if (!webviewReady) { - throw new Error("Timeout waiting for webview to be ready") - } - - // Send webviewDidLaunch to initialize chat - await provider.postMessageToWebview({ type: "webviewDidLaunch" }) - console.log("Sent webviewDidLaunch") - - // Wait for webview to fully initialize - await new Promise((resolve) => setTimeout(resolve, 2000)) - - // Restore original postMessage - provider.postMessageToWebview = originalPostMessage - - // Wait for OpenRouter models to be fully loaded - startTime = Date.now() - while (Date.now() - startTime < timeout) { - const models = await provider.readOpenRouterModels() - if (models && Object.keys(models).length > 0) { - console.log("OpenRouter models loaded") - break - } - await new Promise((resolve) => setTimeout(resolve, interval)) - } - - // Send prompt - const prompt = "Hello world, what is your name?" - console.log("Sending prompt:", prompt) - - // Start task - try { - await api.startNewTask(prompt) - console.log("Task started") - } catch (error) { - console.error("Error starting task:", error) - throw error - } - - // Wait for task to appear in history with tokens - startTime = Date.now() - while (Date.now() - startTime < timeout) { - const state = await provider.getState() - const task = state.taskHistory?.[0] - if (task && task.tokensOut > 0) { - console.log("Task completed with tokens:", task) - break - } - await new Promise((resolve) => setTimeout(resolve, interval)) - } - - // Wait for messages to be processed - startTime = Date.now() - let responseReceived = false - while (Date.now() - startTime < timeout) { - // Check provider.clineMessages - const messages = provider.clineMessages - if (messages && messages.length > 0) { - console.log("Provider messages:", JSON.stringify(messages, null, 2)) - // @ts-ignore - const hasResponse = messages.some( - (m: { type: string; text: string }) => - m.type === "say" && m.text && m.text.toLowerCase().includes("cline"), - ) - if (hasResponse) { - console.log('Found response containing "Cline" in provider messages') - responseReceived = true - break - } - } - - // Check provider.cline.clineMessages - const clineMessages = provider.cline?.clineMessages - if (clineMessages && clineMessages.length > 0) { - console.log("Cline messages:", JSON.stringify(clineMessages, null, 2)) - // @ts-ignore - const hasResponse = clineMessages.some( - (m: { type: string; text: string }) => - m.type === "say" && m.text && m.text.toLowerCase().includes("cline"), - ) - if (hasResponse) { - console.log('Found response containing "Cline" in cline messages') - responseReceived = true - break - } - } - - await new Promise((resolve) => setTimeout(resolve, interval)) - } - - if (!responseReceived) { - console.log("Final provider state:", await provider.getState()) - console.log("Final cline messages:", provider.cline?.clineMessages) - throw new Error('Did not receive expected response containing "Cline"') - } - } finally { - panel.dispose() - } - }) }) diff --git a/src/test/task.test.ts b/src/test/task.test.ts new file mode 100644 index 0000000..d670088 --- /dev/null +++ b/src/test/task.test.ts @@ -0,0 +1,152 @@ +import * as assert from "assert" +import * as vscode from "vscode" + +import { ClineAPI } from "../exports/cline" +import { ClineProvider } from "../core/webview/ClineProvider" + +suite("Roo Code Task", () => { + test("Should handle prompt and response correctly", async function () { + const timeout = 30000 + const interval = 1000 + + const extension = vscode.extensions.getExtension("RooVeterinaryInc.roo-cline") + + if (!extension) { + assert.fail("Extension not found") + } + + const api: ClineAPI = await extension.activate() + + if (!api) { + assert.fail("Extension API not found") + } + + const provider = api.sidebarProvider as ClineProvider + + if (!provider) { + assert.fail("Provider not found") + } + + await provider.updateGlobalState("apiProvider", "openrouter") + await provider.updateGlobalState("openRouterModelId", "anthropic/claude-3.5-sonnet") + const apiKey = process.env.OPEN_ROUTER_API_KEY + + if (!apiKey) { + assert.fail("OPEN_ROUTER_API_KEY environment variable is not set") + } + + await provider.storeSecret("openRouterApiKey", apiKey) + + // Create webview panel with development options. + const extensionUri = extension.extensionUri + + const panel = vscode.window.createWebviewPanel("roo-cline.SidebarProvider", "Roo Code", vscode.ViewColumn.One, { + enableScripts: true, + enableCommandUris: true, + retainContextWhenHidden: true, + localResourceRoots: [extensionUri], + }) + + try { + // Initialize webview with development context. + panel.webview.options = { + enableScripts: true, + enableCommandUris: true, + localResourceRoots: [extensionUri], + } + + // Initialize provider with panel. + provider.resolveWebviewView(panel) + + // Set up message tracking. + let webviewReady = false + const originalPostMessage = provider.postMessageToWebview.bind(provider) + + provider.postMessageToWebview = async (message: any) => { + if (message.type === "state") { + webviewReady = true + } + + await originalPostMessage(message) + } + + // Wait for webview to launch and receive initial state. + let startTime = Date.now() + + while (Date.now() - startTime < timeout) { + if (webviewReady) { + // Wait an additional second for webview to fully initialize. + await new Promise((resolve) => setTimeout(resolve, 1000)) + break + } + + await new Promise((resolve) => setTimeout(resolve, interval)) + } + + if (!webviewReady) { + assert.fail("Webview never became ready") + } + + // Send webviewDidLaunch to initialize chat. + await provider.postMessageToWebview({ type: "webviewDidLaunch" }) + + // Wait for webview to fully initialize. + await new Promise((resolve) => setTimeout(resolve, 2000)) + + // Restore original postMessage. + provider.postMessageToWebview = originalPostMessage + + // Wait for OpenRouter models to be fully loaded. + startTime = Date.now() + + while (Date.now() - startTime < timeout) { + const models = await provider.readOpenRouterModels() + + if (models && Object.keys(models).length > 0) { + break + } + + await new Promise((resolve) => setTimeout(resolve, interval)) + } + + // Send prompt. + const prompt = "Hello world, what is your name? Respond with 'My name is ...'" + + // Start task. + try { + await api.startNewTask(prompt) + } catch (error) { + console.error(error) + assert.fail("Error starting task") + } + + // Wait for task to appear in history with tokens. + startTime = Date.now() + + while (Date.now() - startTime < timeout) { + const state = await provider.getState() + const task = state.taskHistory?.[0] + + if (task && task.tokensOut > 0) { + // console.log("Task completed with tokens:", task) + break + } + + await new Promise((resolve) => setTimeout(resolve, interval)) + } + + if (provider.messages.length === 0) { + assert.fail("No messages received") + } + + // console.log("Provider messages:", JSON.stringify(provider.messages, null, 2)) + + assert.ok( + provider.messages.some(({ type, text }) => type === "say" && text?.includes("My name is Roo")), + "Did not receive expected response containing 'My name is Roo'", + ) + } finally { + panel.dispose() + } + }) +}) diff --git a/src/test/tsconfig.json b/src/test/tsconfig.json deleted file mode 100644 index 5c488e9..0000000 --- a/src/test/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "ES2020", - "lib": ["ES2020"], - "sourceMap": true, - "rootDir": "../..", - "strict": false, - "noImplicitAny": false, - "noImplicitThis": false, - "alwaysStrict": false, - "skipLibCheck": true, - "baseUrl": "../..", - "paths": { - "*": ["*", "src/*"] - } - }, - "exclude": ["node_modules", ".vscode-test"] -} diff --git a/tsconfig.integration.json b/tsconfig.integration.json new file mode 100644 index 0000000..0de0ea7 --- /dev/null +++ b/tsconfig.integration.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "CommonJS", + "moduleResolution": "Node", + "esModuleInterop": true, + "target": "ES2022", + "lib": ["ES2022", "ESNext.Disposable", "DOM"], + "sourceMap": true, + "strict": true, + "skipLibCheck": true, + "useUnknownInCatchVariables": false, + "rootDir": "src", + "outDir": "out-integration" + }, + "include": ["**/*.ts"], + "exclude": [".vscode-test", "benchmark", "dist", "**/node_modules/**", "out", "out-integration", "webview-ui"] +} From 8e320af54ca66ebe99ecbe684582fa93741ee10a Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 17:26:49 -0500 Subject: [PATCH 21/67] v3.3.7 --- .changeset/smart-sloths-promise.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/smart-sloths-promise.md diff --git a/.changeset/smart-sloths-promise.md b/.changeset/smart-sloths-promise.md new file mode 100644 index 0000000..4c8259b --- /dev/null +++ b/.changeset/smart-sloths-promise.md @@ -0,0 +1,5 @@ +--- +"roo-cline": patch +--- + +v3.3.7 From b80f73bc4078d0bd65abef57dafe42f0601f8349 Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 14:36:53 -0800 Subject: [PATCH 22/67] Fix test script --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7a0f5b8..e97c8fa 100644 --- a/package.json +++ b/package.json @@ -230,7 +230,7 @@ "dev": "cd webview-ui && npm run dev", "test": "jest && npm run test:webview", "test:webview": "cd webview-ui && npm run test", - "test:extension": "npm run build && npm run compile:integration && npx dotenvx run -f .env.integration -- vscode-test", + "test:integration": "npm run build && npm run compile:integration && npx dotenvx run -f .env.integration -- vscode-test", "prepare": "husky", "publish:marketplace": "vsce publish && ovsx publish", "publish": "npm run build && changeset publish && npm install --package-lock-only", From 6761012db21f3e1518f603dbafce37c674cf19b0 Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 14:38:47 -0800 Subject: [PATCH 23/67] Run check-types and lint in husky --- .husky/pre-commit | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.husky/pre-commit b/.husky/pre-commit index 2f3977a..9d86983 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -6,4 +6,7 @@ if [ "$branch" = "main" ]; then fi npx lint-staged + npm run compile +npm run lint +npm run check-types From 7d28ff516c9700925b428b610e4b0c382a0090fb Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 17:50:29 -0500 Subject: [PATCH 24/67] Streaming version of o3-mini --- .changeset/gold-pillows-fix.md | 5 +++++ src/api/providers/openai-native.ts | 31 ++++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 .changeset/gold-pillows-fix.md diff --git a/.changeset/gold-pillows-fix.md b/.changeset/gold-pillows-fix.md new file mode 100644 index 0000000..888f79e --- /dev/null +++ b/.changeset/gold-pillows-fix.md @@ -0,0 +1,5 @@ +--- +"roo-cline": patch +--- + +Streaming version of o3-mini diff --git a/src/api/providers/openai-native.ts b/src/api/providers/openai-native.ts index ef98ade..4c90496 100644 --- a/src/api/providers/openai-native.ts +++ b/src/api/providers/openai-native.ts @@ -27,8 +27,7 @@ export class OpenAiNativeHandler implements ApiHandler, SingleCompletionHandler switch (modelId) { case "o1": case "o1-preview": - case "o1-mini": - case "o3-mini": { + case "o1-mini": { // o1-preview and o1-mini don't support streaming, non-1 temp, or system prompt // o1 doesnt support streaming or non-1 temp but does support a developer prompt const response = await this.client.chat.completions.create({ @@ -49,6 +48,34 @@ export class OpenAiNativeHandler implements ApiHandler, SingleCompletionHandler } break } + case "o3-mini": { + const stream = await this.client.chat.completions.create({ + model: this.getModel().id, + messages: [{ role: "developer", content: systemPrompt }, ...convertToOpenAiMessages(messages)], + stream: true, + stream_options: { include_usage: true }, + }) + + for await (const chunk of stream) { + const delta = chunk.choices[0]?.delta + if (delta?.content) { + yield { + type: "text", + text: delta.content, + } + } + + // contains a null value except for the last chunk which contains the token usage statistics for the entire request + if (chunk.usage) { + yield { + type: "usage", + inputTokens: chunk.usage.prompt_tokens || 0, + outputTokens: chunk.usage.completion_tokens || 0, + } + } + } + break + } default: { const stream = await this.client.chat.completions.create({ model: this.getModel().id, From fea3daa98aea104d7b166c1dea2739a34861ebac Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 14:52:25 -0800 Subject: [PATCH 25/67] Create env.integration file --- .github/workflows/code-qa.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index bfd88ed..9aef31a 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -56,9 +56,11 @@ jobs: with: node-version: '18' cache: 'npm' + - name: Create env.integration file + run: echo "OPEN_ROUTER_API_KEY=${{ secrets.OPEN_ROUTER_API_KEY }}" > .env.integration - name: Install dependencies run: npm run install:all - - run: xvfb-run -a npm test:integration + - run: xvfb-run -a npm run test:integration if: runner.os == 'Linux' - - run: npm test:integration + - run: npm run test:integration if: runner.os != 'Linux' From b43044f57034b4a9c946028bb405143e40c111d6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 31 Jan 2025 22:54:14 +0000 Subject: [PATCH 26/67] changeset version bump --- .changeset/gold-pillows-fix.md | 5 ----- .changeset/smart-sloths-promise.md | 5 ----- .changeset/tame-walls-kiss.md | 5 ----- CHANGELOG.md | 8 ++++++++ package-lock.json | 4 ++-- package.json | 2 +- 6 files changed, 11 insertions(+), 18 deletions(-) delete mode 100644 .changeset/gold-pillows-fix.md delete mode 100644 .changeset/smart-sloths-promise.md delete mode 100644 .changeset/tame-walls-kiss.md diff --git a/.changeset/gold-pillows-fix.md b/.changeset/gold-pillows-fix.md deleted file mode 100644 index 888f79e..0000000 --- a/.changeset/gold-pillows-fix.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"roo-cline": patch ---- - -Streaming version of o3-mini diff --git a/.changeset/smart-sloths-promise.md b/.changeset/smart-sloths-promise.md deleted file mode 100644 index 4c8259b..0000000 --- a/.changeset/smart-sloths-promise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"roo-cline": patch ---- - -v3.3.7 diff --git a/.changeset/tame-walls-kiss.md b/.changeset/tame-walls-kiss.md deleted file mode 100644 index 1cebabb..0000000 --- a/.changeset/tame-walls-kiss.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"roo-cline": patch ---- - -Use an exponential backoff for API retries diff --git a/CHANGELOG.md b/CHANGELOG.md index 13dbb3b..dbf9bfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Roo Code Changelog +## 3.3.7 + +### Patch Changes + +- Streaming version of o3-mini +- v3.3.7 +- Use an exponential backoff for API retries + ## [3.3.6] - Add a "new task" tool that allows Roo to start new tasks with an initial message and mode diff --git a/package-lock.json b/package-lock.json index 93d82af..2b49174 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "roo-cline", - "version": "3.3.6", + "version": "3.3.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "roo-cline", - "version": "3.3.6", + "version": "3.3.7", "dependencies": { "@anthropic-ai/bedrock-sdk": "^0.10.2", "@anthropic-ai/sdk": "^0.26.0", diff --git a/package.json b/package.json index 638c1f6..568d1b1 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "displayName": "Roo Code (prev. Roo Cline)", "description": "A VS Code plugin that enhances coding with AI-powered automation, multi-model support, and experimental features.", "publisher": "RooVeterinaryInc", - "version": "3.3.6", + "version": "3.3.7", "icon": "assets/icons/rocket.png", "galleryBanner": { "color": "#617A91", From eaef1e40c5d47087b0b51a34d83e4625b80d0710 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 17:56:26 -0500 Subject: [PATCH 27/67] Update CHANGELOG.md --- CHANGELOG.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dbf9bfb..9ec5d58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,15 @@ # Roo Code Changelog -## 3.3.7 +## [3.3.7] -### Patch Changes - -- Streaming version of o3-mini -- v3.3.7 -- Use an exponential backoff for API retries +- Support for o3-mini (thanks @shpigunov!) +- Code Action improvements to allow selecting code and adding it to context, plus bug fixes (thanks @samhvw8!) +- Ability to include a message when approving or rejecting tool use (thanks @napter!) +- Improvements to chat input box styling (thanks @psv2522!) +- Capture reasoning from more variants of DeepSeek R1 (thanks @Szpadel!) +- Use an exponential backoff for API retries (if delay after first error is 5s, delay after second consecutive error will be 10s, then 20s, etc) +- Add a slider in advanced settings to enable rate limiting requests to avoid overloading providers (i.e. wait at least 10 seconds between API requests) +- Prompt tweaks to make Roo better at creating new custom modes for you ## [3.3.6] From d481a5ae152838f7d967f4f590ef58de641e0235 Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 14:56:57 -0800 Subject: [PATCH 28/67] Check env.integration file --- .github/workflows/code-qa.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index 9aef31a..fdaa939 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -58,6 +58,8 @@ jobs: cache: 'npm' - name: Create env.integration file run: echo "OPEN_ROUTER_API_KEY=${{ secrets.OPEN_ROUTER_API_KEY }}" > .env.integration + - name: Check env.integration file + run: cat .env.integration - name: Install dependencies run: npm run install:all - run: xvfb-run -a npm run test:integration From 5fd8d8911a5043b1067b17683ed86caaf3a147ae Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 15:18:20 -0800 Subject: [PATCH 29/67] Fix ENV var name --- .env.integration.example | 2 +- .github/workflows/code-qa.yml | 2 +- benchmark/typescript/anagram/.pnp.cjs | 16642 ++++++++++++++++ benchmark/typescript/anagram/.pnp.loader.mjs | 2126 ++ .../typescript/anagram/.yarn/install-state.gz | Bin 0 -> 693556 bytes src/test/extension.test.ts | 6 +- src/test/task.test.ts | 4 +- 7 files changed, 18775 insertions(+), 7 deletions(-) create mode 100755 benchmark/typescript/anagram/.pnp.cjs create mode 100644 benchmark/typescript/anagram/.pnp.loader.mjs create mode 100644 benchmark/typescript/anagram/.yarn/install-state.gz diff --git a/.env.integration.example b/.env.integration.example index 392b97c..40c9da1 100644 --- a/.env.integration.example +++ b/.env.integration.example @@ -1 +1 @@ -OPEN_ROUTER_API_KEY=sk-or-v1-... +OPENROUTER_API_KEY=sk-or-v1-... diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index fdaa939..8f69a46 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -57,7 +57,7 @@ jobs: node-version: '18' cache: 'npm' - name: Create env.integration file - run: echo "OPEN_ROUTER_API_KEY=${{ secrets.OPEN_ROUTER_API_KEY }}" > .env.integration + run: echo "OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }}" > .env.integration - name: Check env.integration file run: cat .env.integration - name: Install dependencies diff --git a/benchmark/typescript/anagram/.pnp.cjs b/benchmark/typescript/anagram/.pnp.cjs new file mode 100755 index 0000000..ff7466d --- /dev/null +++ b/benchmark/typescript/anagram/.pnp.cjs @@ -0,0 +1,16642 @@ +#!/usr/bin/env node +/* eslint-disable */ +// @ts-nocheck +"use strict"; + +const RAW_RUNTIME_STATE = +'{\ + "__info": [\ + "This file is automatically generated. Do not touch it, or risk",\ + "your modifications being lost."\ + ],\ + "dependencyTreeRoots": [\ + {\ + "name": "@exercism/typescript-anagram",\ + "reference": "workspace:."\ + }\ + ],\ + "enableTopLevelFallback": true,\ + "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ + "fallbackExclusionList": [\ + ["@exercism/typescript-anagram", ["workspace:."]]\ + ],\ + "fallbackPool": [\ + ],\ + "packageRegistryData": [\ + [null, [\ + [null, {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["@exercism/babel-preset-typescript", "npm:0.6.0"],\ + ["@exercism/eslint-config-typescript", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:0.8.0"],\ + ["@jest/globals", "npm:29.7.0"],\ + ["@types/node", "npm:22.7.9"],\ + ["babel-jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ + ["core-js", "npm:3.38.1"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["expect", "npm:29.7.0"],\ + ["jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ + ["prettier", "npm:3.4.2"],\ + ["tstyche", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:2.1.1"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"],\ + ["typescript-eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["@ampproject/remapping", [\ + ["npm:2.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@ampproject-remapping-npm-2.3.0-559c14eee4-10.zip/node_modules/@ampproject/remapping/",\ + "packageDependencies": [\ + ["@ampproject/remapping", "npm:2.3.0"],\ + ["@jridgewell/gen-mapping", "npm:0.3.8"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/code-frame", [\ + ["npm:7.26.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-code-frame-npm-7.26.2-4902b56813-10.zip/node_modules/@babel/code-frame/",\ + "packageDependencies": [\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"],\ + ["js-tokens", "npm:4.0.0"],\ + ["picocolors", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/compat-data", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-compat-data-npm-7.26.5-b6047aeefb-10.zip/node_modules/@babel/compat-data/",\ + "packageDependencies": [\ + ["@babel/compat-data", "npm:7.26.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/core", [\ + ["npm:7.26.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-core-npm-7.26.7-7cf6c69e74-10.zip/node_modules/@babel/core/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.26.7"],\ + ["@ampproject/remapping", "npm:2.3.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/generator", "npm:7.26.5"],\ + ["@babel/helper-compilation-targets", "npm:7.26.5"],\ + ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ + ["@babel/helpers", "npm:7.26.7"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/template", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["gensync", "npm:1.0.0-beta.2"],\ + ["json5", "npm:2.2.3"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/generator", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-generator-npm-7.26.5-8de063382c-10.zip/node_modules/@babel/generator/",\ + "packageDependencies": [\ + ["@babel/generator", "npm:7.26.5"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"],\ + ["@jridgewell/gen-mapping", "npm:0.3.8"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["jsesc", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-annotate-as-pure", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-annotate-as-pure-npm-7.25.9-a0f89e14a0-10.zip/node_modules/@babel/helper-annotate-as-pure/",\ + "packageDependencies": [\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-compilation-targets", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-compilation-targets-npm-7.26.5-e3b4215b3c-10.zip/node_modules/@babel/helper-compilation-targets/",\ + "packageDependencies": [\ + ["@babel/helper-compilation-targets", "npm:7.26.5"],\ + ["@babel/compat-data", "npm:7.26.5"],\ + ["@babel/helper-validator-option", "npm:7.25.9"],\ + ["browserslist", "npm:4.24.4"],\ + ["lru-cache", "npm:5.1.1"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-create-class-features-plugin", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-create-class-features-plugin-npm-7.25.9-1efda825e9-10.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-class-features-plugin-virtual-8f08b49708/6/.yarn/berry/cache/@babel-helper-create-class-features-plugin-npm-7.25.9-1efda825e9-10.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/helper-replace-supers", "virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-create-regexp-features-plugin", [\ + ["npm:7.26.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-create-regexp-features-plugin-npm-7.26.3-834c0b262a-10.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-regexp-features-plugin", "npm:7.26.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-f08dcd7edd/6/.yarn/berry/cache/@babel-helper-create-regexp-features-plugin-npm-7.26.3-834c0b262a-10.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@types/babel__core", null],\ + ["regexpu-core", "npm:6.2.0"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-define-polyfill-provider", [\ + ["npm:0.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-define-polyfill-provider-npm-0.6.3-211720cbc0-10.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "npm:0.6.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-c2a179de32/6/.yarn/berry/cache/@babel-helper-define-polyfill-provider-npm-0.6.3-211720cbc0-10.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-compilation-targets", "npm:7.26.5"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["lodash.debounce", "npm:4.0.8"],\ + ["resolve", "patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-member-expression-to-functions", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-member-expression-to-functions-npm-7.25.9-761e6fec27-10.zip/node_modules/@babel/helper-member-expression-to-functions/",\ + "packageDependencies": [\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-module-imports", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-10.zip/node_modules/@babel/helper-module-imports/",\ + "packageDependencies": [\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-module-transforms", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-10.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-66ed0daf54/6/.yarn/berry/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-10.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-optimise-call-expression", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-optimise-call-expression-npm-7.25.9-d8006fbada-10.zip/node_modules/@babel/helper-optimise-call-expression/",\ + "packageDependencies": [\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-plugin-utils", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-plugin-utils-npm-7.26.5-f9c17c9880-10.zip/node_modules/@babel/helper-plugin-utils/",\ + "packageDependencies": [\ + ["@babel/helper-plugin-utils", "npm:7.26.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-remap-async-to-generator", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-remap-async-to-generator-npm-7.25.9-80702863ff-10.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/helper-remap-async-to-generator", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ba8ad0405b09513ce4e85736277d747179c5276ea6548459e4421a37aa71e1c6c9806f2030a96ad7cb0fc7ab48e9196a6702cce25ecb32087cad8180c865bf61#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-remap-async-to-generator-virtual-477d0d60dd/6/.yarn/berry/cache/@babel-helper-remap-async-to-generator-npm-7.25.9-80702863ff-10.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/helper-remap-async-to-generator", "virtual:ba8ad0405b09513ce4e85736277d747179c5276ea6548459e4421a37aa71e1c6c9806f2030a96ad7cb0fc7ab48e9196a6702cce25ecb32087cad8180c865bf61#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-wrap-function", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-replace-supers", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-replace-supers-npm-7.26.5-4b002f04c0-10.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "npm:7.26.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-e3b2b13fd4/6/.yarn/berry/cache/@babel-helper-replace-supers-npm-7.26.5-4b002f04c0-10.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-skip-transparent-expression-wrappers", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.25.9-215072fae0-10.zip/node_modules/@babel/helper-skip-transparent-expression-wrappers/",\ + "packageDependencies": [\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-string-parser", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-10.zip/node_modules/@babel/helper-string-parser/",\ + "packageDependencies": [\ + ["@babel/helper-string-parser", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-identifier", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-10.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageDependencies": [\ + ["@babel/helper-validator-identifier", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-option", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-validator-option-npm-7.25.9-6450027d5d-10.zip/node_modules/@babel/helper-validator-option/",\ + "packageDependencies": [\ + ["@babel/helper-validator-option", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-wrap-function", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-wrap-function-npm-7.25.9-bbd361fe46-10.zip/node_modules/@babel/helper-wrap-function/",\ + "packageDependencies": [\ + ["@babel/helper-wrap-function", "npm:7.25.9"],\ + ["@babel/template", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helpers", [\ + ["npm:7.26.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-helpers-npm-7.26.7-284c12b13e-10.zip/node_modules/@babel/helpers/",\ + "packageDependencies": [\ + ["@babel/helpers", "npm:7.26.7"],\ + ["@babel/template", "npm:7.25.9"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/node", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-node-npm-7.26.0-a7332a2fdc-10.zip/node_modules/@babel/node/",\ + "packageDependencies": [\ + ["@babel/node", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-node-virtual-495d1fe58a/6/.yarn/berry/cache/@babel-node-npm-7.26.0-a7332a2fdc-10.zip/node_modules/@babel/node/",\ + "packageDependencies": [\ + ["@babel/node", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/register", "virtual:495d1fe58a5940bbe6ad23c1da3ac225f191a10151292e2a512b89a882156dc81abe56f2b01722e6495421b7baa2b8c7f6e0182b3e50a07d7b825013dbb11cf9#npm:7.25.9"],\ + ["@types/babel__core", null],\ + ["commander", "npm:6.2.1"],\ + ["core-js", "npm:3.40.0"],\ + ["node-environment-flags", "npm:1.0.6"],\ + ["regenerator-runtime", "npm:0.14.1"],\ + ["v8flags", "npm:3.2.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/parser", [\ + ["npm:7.26.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-parser-npm-7.26.7-ef2912fba4-10.zip/node_modules/@babel/parser/",\ + "packageDependencies": [\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.25.9-8b41c5edab-10.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-firefox-class-in-computed-class-key-virtual-070d84c7d4/6/.yarn/berry/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.25.9-8b41c5edab-10.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-safari-class-field-initializer-scope-npm-7.25.9-0004436a46-10.zip/node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-class-field-initializer-scope-virtual-bb235a498d/6/.yarn/berry/cache/@babel-plugin-bugfix-safari-class-field-initializer-scope-npm-7.25.9-0004436a46-10.zip/node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.25.9-06267b0121-10.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-virtual-8f9f0dc47d/6/.yarn/berry/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.25.9-06267b0121-10.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.25.9-ae4964ca70-10.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-virtual-bcf3276297/6/.yarn/berry/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.25.9-ae4964ca70-10.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.25.9-dce7f49c0f-10.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-virtual-6b74de8673/6/.yarn/berry/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.25.9-dce7f49c0f-10.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-private-property-in-object", [\ + ["npm:7.21.0-placeholder-for-preset-env.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-10.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-private-property-in-object", "npm:7.21.0-placeholder-for-preset-env.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.21.0-placeholder-for-preset-env.2", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-private-property-in-object-virtual-622b31d5cc/6/.yarn/berry/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-10.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-private-property-in-object", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.21.0-placeholder-for-preset-env.2"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-async-generators", [\ + ["npm:7.8.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "npm:7.8.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-993f7fd03e/6/.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.4"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-137a5a5217/6/.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.4"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-0939af92ac/6/.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.4"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-bigint", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-bigint", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-58d7bec2f4/6/.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-bigint", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-2bef79cffa/6/.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-bigint", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-84e473c8d4/6/.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-bigint", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-class-properties", [\ + ["npm:7.12.13", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "npm:7.12.13"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.12.13", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-7c6db10d10/6/.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.12.13"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.12.13", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-08296452fd/6/.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.12.13"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.12.13", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-3059fc0dad/6/.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.12.13"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-class-static-block", [\ + ["npm:7.14.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-bde8a43daf/6/.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-23a53572aa/6/.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-40be2fe21e/6/.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-assertions", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-import-assertions-npm-7.26.0-6c9b84570c-10.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-assertions", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-assertions-virtual-7b2764ee46/6/.yarn/berry/cache/@babel-plugin-syntax-import-assertions-npm-7.26.0-6c9b84570c-10.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-assertions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-attributes", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-04edc885d2/6/.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-2fc2b7eee5/6/.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.26.0"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-0e3c5807ff/6/.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-meta", [\ + ["npm:7.10.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "npm:7.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-0f69c506d3/6/.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-9f0b0a193f/6/.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-a0e09731a9/6/.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-json-strings", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-070ad1091b/6/.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-6d6d7c4d3c/6/.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-2ab87c288e/6/.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-jsx", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-jsx-npm-7.25.9-3df022f433-10.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-4e04a6c2b9/6/.yarn/berry/cache/@babel-plugin-syntax-jsx-npm-7.25.9-3df022f433-10.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-logical-assignment-operators", [\ + ["npm:7.10.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "npm:7.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-ff68e11bd5/6/.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-97bf1046cd/6/.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-dde3f84fd7/6/.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-383b231c23/6/.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-6c86f5f233/6/.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-3d3c777f3d/6/.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-numeric-separator", [\ + ["npm:7.10.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "npm:7.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-a60ecf78fb/6/.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-726d9ccd79/6/.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-1861d4af9f/6/.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-object-rest-spread", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-0311abb51d/6/.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-a76ac8a399/6/.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-045975f376/6/.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-optional-catch-binding", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-d5627250c6/6/.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-d70305b5ff/6/.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-2bb429ccbf/6/.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-optional-chaining", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-a53e18a8d9/6/.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-b570384211/6/.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-3e2c8fdb8a/6/.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-private-property-in-object", [\ + ["npm:7.14.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-9c5d44fe2f/6/.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-90122d6a77/6/.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-8951b4c744/6/.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-top-level-await", [\ + ["npm:7.14.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-245beac28c/6/.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-2e17cd0813/6/.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-8fd06d9c75/6/.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-typescript", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-typescript-npm-7.25.9-5201e4ba77-10.zip/node_modules/@babel/plugin-syntax-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-typescript", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d391f3127bb3776a0d98f197f9da76204acb6865dc272a9880ffdb86ff33723ba790095479b0edef6d565f1c286e4accaa75aeb28f32e663b67a8f8a37705176#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-typescript-virtual-d90940cc07/6/.yarn/berry/cache/@babel-plugin-syntax-typescript-npm-7.25.9-5201e4ba77-10.zip/node_modules/@babel/plugin-syntax-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-typescript", "virtual:d391f3127bb3776a0d98f197f9da76204acb6865dc272a9880ffdb86ff33723ba790095479b0edef6d565f1c286e4accaa75aeb28f32e663b67a8f8a37705176#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-unicode-sets-regex", [\ + ["npm:7.18.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-10.zip/node_modules/@babel/plugin-syntax-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-unicode-sets-regex", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-unicode-sets-regex-virtual-511f5218e4/6/.yarn/berry/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-10.zip/node_modules/@babel/plugin-syntax-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-unicode-sets-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.18.6"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-arrow-functions", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-arrow-functions-npm-7.25.9-ececb64a8c-10.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-arrow-functions", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-arrow-functions-virtual-ca23c29f9e/6/.yarn/berry/cache/@babel-plugin-transform-arrow-functions-npm-7.25.9-ececb64a8c-10.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-arrow-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-async-generator-functions", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-async-generator-functions-npm-7.25.9-1ff81d4ef7-10.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-generator-functions", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-generator-functions-virtual-ba8ad0405b/6/.yarn/berry/cache/@babel-plugin-transform-async-generator-functions-npm-7.25.9-1ff81d4ef7-10.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-generator-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-remap-async-to-generator", "virtual:ba8ad0405b09513ce4e85736277d747179c5276ea6548459e4421a37aa71e1c6c9806f2030a96ad7cb0fc7ab48e9196a6702cce25ecb32087cad8180c865bf61#npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-async-to-generator", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-async-to-generator-npm-7.25.9-ebececf71e-10.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-to-generator", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-to-generator-virtual-f565771d49/6/.yarn/berry/cache/@babel-plugin-transform-async-to-generator-npm-7.25.9-ebececf71e-10.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-to-generator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-remap-async-to-generator", "virtual:ba8ad0405b09513ce4e85736277d747179c5276ea6548459e4421a37aa71e1c6c9806f2030a96ad7cb0fc7ab48e9196a6702cce25ecb32087cad8180c865bf61#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-block-scoped-functions", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-block-scoped-functions-npm-7.26.5-279e722607-10.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoped-functions", "npm:7.26.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoped-functions-virtual-154f9f671c/6/.yarn/berry/cache/@babel-plugin-transform-block-scoped-functions-npm-7.26.5-279e722607-10.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-block-scoping", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-block-scoping-npm-7.25.9-f2efaa9ad7-10.zip/node_modules/@babel/plugin-transform-block-scoping/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoping", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoping-virtual-66d7da88ee/6/.yarn/berry/cache/@babel-plugin-transform-block-scoping-npm-7.25.9-f2efaa9ad7-10.zip/node_modules/@babel/plugin-transform-block-scoping/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoping", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-class-properties", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-class-properties-npm-7.25.9-ec8d0fa5bb-10.zip/node_modules/@babel/plugin-transform-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-properties", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-properties-virtual-b707aa9286/6/.yarn/berry/cache/@babel-plugin-transform-class-properties-npm-7.25.9-ec8d0fa5bb-10.zip/node_modules/@babel/plugin-transform-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-class-static-block", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-class-static-block-npm-7.26.0-b277b54abb-10.zip/node_modules/@babel/plugin-transform-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-static-block", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-static-block-virtual-73cc466f10/6/.yarn/berry/cache/@babel-plugin-transform-class-static-block-npm-7.26.0-b277b54abb-10.zip/node_modules/@babel/plugin-transform-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-static-block", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-classes", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-classes-npm-7.25.9-2d606dd6e7-10.zip/node_modules/@babel/plugin-transform-classes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-classes", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-classes-virtual-3de25c6204/6/.yarn/berry/cache/@babel-plugin-transform-classes-npm-7.25.9-2d606dd6e7-10.zip/node_modules/@babel/plugin-transform-classes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-classes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-compilation-targets", "npm:7.26.5"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-replace-supers", "virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null],\ + ["globals", "npm:11.12.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-computed-properties", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-computed-properties-npm-7.25.9-4f0be3122f-10.zip/node_modules/@babel/plugin-transform-computed-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-computed-properties", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-computed-properties-virtual-8ad2947541/6/.yarn/berry/cache/@babel-plugin-transform-computed-properties-npm-7.25.9-4f0be3122f-10.zip/node_modules/@babel/plugin-transform-computed-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-computed-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/template", "npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-destructuring", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-destructuring-npm-7.25.9-4d0defa886-10.zip/node_modules/@babel/plugin-transform-destructuring/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-destructuring", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-destructuring-virtual-43fafc6db0/6/.yarn/berry/cache/@babel-plugin-transform-destructuring-npm-7.25.9-4d0defa886-10.zip/node_modules/@babel/plugin-transform-destructuring/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-destructuring", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-dotall-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-dotall-regex-npm-7.25.9-1035da7e11-10.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dotall-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dotall-regex-virtual-42f0c218fb/6/.yarn/berry/cache/@babel-plugin-transform-dotall-regex-npm-7.25.9-1035da7e11-10.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dotall-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-duplicate-keys", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-duplicate-keys-npm-7.25.9-1c76576f8f-10.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-keys", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-keys-virtual-d30da6031a/6/.yarn/berry/cache/@babel-plugin-transform-duplicate-keys-npm-7.25.9-1c76576f8f-10.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-keys", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.25.9-dbeaa1108e-10.zip/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-named-capturing-groups-regex-virtual-97d5017ac7/6/.yarn/berry/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.25.9-dbeaa1108e-10.zip/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-dynamic-import", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-dynamic-import-npm-7.25.9-a71ccfa36a-10.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dynamic-import", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dynamic-import-virtual-c4599d2dd9/6/.yarn/berry/cache/@babel-plugin-transform-dynamic-import-npm-7.25.9-a71ccfa36a-10.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dynamic-import", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-exponentiation-operator", [\ + ["npm:7.26.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-exponentiation-operator-npm-7.26.3-20f97fba79-10.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-exponentiation-operator", "npm:7.26.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-exponentiation-operator-virtual-0de865ec4c/6/.yarn/berry/cache/@babel-plugin-transform-exponentiation-operator-npm-7.26.3-20f97fba79-10.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-export-namespace-from", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-export-namespace-from-npm-7.25.9-135e9e5e1b-10.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-export-namespace-from", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-export-namespace-from-virtual-2346a1f65d/6/.yarn/berry/cache/@babel-plugin-transform-export-namespace-from-npm-7.25.9-135e9e5e1b-10.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-export-namespace-from", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-for-of", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-for-of-npm-7.25.9-7580278020-10.zip/node_modules/@babel/plugin-transform-for-of/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-for-of", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-for-of-virtual-0c5d092aab/6/.yarn/berry/cache/@babel-plugin-transform-for-of-npm-7.25.9-7580278020-10.zip/node_modules/@babel/plugin-transform-for-of/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-for-of", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-function-name", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-function-name-npm-7.25.9-d5752b7a23-10.zip/node_modules/@babel/plugin-transform-function-name/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-function-name", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-function-name-virtual-5b5c7b9cd5/6/.yarn/berry/cache/@babel-plugin-transform-function-name-npm-7.25.9-d5752b7a23-10.zip/node_modules/@babel/plugin-transform-function-name/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-function-name", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-compilation-targets", "npm:7.26.5"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-json-strings", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-json-strings-npm-7.25.9-98c5638edb-10.zip/node_modules/@babel/plugin-transform-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-json-strings", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-json-strings-virtual-e28e1e9170/6/.yarn/berry/cache/@babel-plugin-transform-json-strings-npm-7.25.9-98c5638edb-10.zip/node_modules/@babel/plugin-transform-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-json-strings", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-literals", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-literals-npm-7.25.9-3214d73572-10.zip/node_modules/@babel/plugin-transform-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-literals", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-literals-virtual-08f9cd840c/6/.yarn/berry/cache/@babel-plugin-transform-literals-npm-7.25.9-3214d73572-10.zip/node_modules/@babel/plugin-transform-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-logical-assignment-operators", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.25.9-c5b454492f-10.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-logical-assignment-operators", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-logical-assignment-operators-virtual-7fee85bd13/6/.yarn/berry/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.25.9-c5b454492f-10.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-logical-assignment-operators", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-member-expression-literals", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-member-expression-literals-npm-7.25.9-124803ce6b-10.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-member-expression-literals", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-member-expression-literals-virtual-52e9094379/6/.yarn/berry/cache/@babel-plugin-transform-member-expression-literals-npm-7.25.9-124803ce6b-10.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-member-expression-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-amd", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-modules-amd-npm-7.25.9-6adc3ea0c6-10.zip/node_modules/@babel/plugin-transform-modules-amd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-amd", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-amd-virtual-b1c8e024a5/6/.yarn/berry/cache/@babel-plugin-transform-modules-amd-npm-7.25.9-6adc3ea0c6-10.zip/node_modules/@babel/plugin-transform-modules-amd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-amd", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-commonjs", [\ + ["npm:7.26.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-modules-commonjs-npm-7.26.3-7c9b991fc5-10.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-commonjs", "npm:7.26.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-commonjs-virtual-b302280194/6/.yarn/berry/cache/@babel-plugin-transform-modules-commonjs-npm-7.26.3-7c9b991fc5-10.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-commonjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-systemjs", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-modules-systemjs-npm-7.25.9-977795f4fd-10.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-systemjs", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-systemjs-virtual-1cc2da8bac/6/.yarn/berry/cache/@babel-plugin-transform-modules-systemjs-npm-7.25.9-977795f4fd-10.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-systemjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-umd", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-modules-umd-npm-7.25.9-268c5b6ad5-10.zip/node_modules/@babel/plugin-transform-modules-umd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-umd", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-umd-virtual-ea05e65dd5/6/.yarn/berry/cache/@babel-plugin-transform-modules-umd-npm-7.25.9-268c5b6ad5-10.zip/node_modules/@babel/plugin-transform-modules-umd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-umd", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-named-capturing-groups-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.25.9-4eede36dba-10.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-named-capturing-groups-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-named-capturing-groups-regex-virtual-f613e93da6/6/.yarn/berry/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.25.9-4eede36dba-10.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-new-target", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-new-target-npm-7.25.9-6eccc3dc16-10.zip/node_modules/@babel/plugin-transform-new-target/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-new-target", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-new-target-virtual-3292b98363/6/.yarn/berry/cache/@babel-plugin-transform-new-target-npm-7.25.9-6eccc3dc16-10.zip/node_modules/@babel/plugin-transform-new-target/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-new-target", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-nullish-coalescing-operator", [\ + ["npm:7.26.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.26.6-0fe7973c08-10.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-nullish-coalescing-operator", "npm:7.26.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-nullish-coalescing-operator-virtual-0e99862860/6/.yarn/berry/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.26.6-0fe7973c08-10.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.6"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-numeric-separator", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-numeric-separator-npm-7.25.9-bb79ada147-10.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-numeric-separator", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-numeric-separator-virtual-0dd3b099c9/6/.yarn/berry/cache/@babel-plugin-transform-numeric-separator-npm-7.25.9-bb79ada147-10.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-numeric-separator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-object-rest-spread", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-object-rest-spread-npm-7.25.9-3f0cb70408-10.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-rest-spread", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-rest-spread-virtual-adee796dab/6/.yarn/berry/cache/@babel-plugin-transform-object-rest-spread-npm-7.25.9-3f0cb70408-10.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-rest-spread", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-compilation-targets", "npm:7.26.5"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/plugin-transform-parameters", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-object-super", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-object-super-npm-7.25.9-6d5aaaf3d3-10.zip/node_modules/@babel/plugin-transform-object-super/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-super", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-super-virtual-70798b96e9/6/.yarn/berry/cache/@babel-plugin-transform-object-super-npm-7.25.9-6d5aaaf3d3-10.zip/node_modules/@babel/plugin-transform-object-super/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-super", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-replace-supers", "virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-optional-catch-binding", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-optional-catch-binding-npm-7.25.9-333a1823d0-10.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-catch-binding", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-catch-binding-virtual-ffe2fd9b1e/6/.yarn/berry/cache/@babel-plugin-transform-optional-catch-binding-npm-7.25.9-333a1823d0-10.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-catch-binding", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-optional-chaining", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-optional-chaining-npm-7.25.9-9d837ee40b-10.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-chaining", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-chaining-virtual-154d770952/6/.yarn/berry/cache/@babel-plugin-transform-optional-chaining-npm-7.25.9-9d837ee40b-10.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-parameters", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-parameters-npm-7.25.9-29a857a3d8-10.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-parameters", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-parameters-virtual-e490d9568c/6/.yarn/berry/cache/@babel-plugin-transform-parameters-npm-7.25.9-29a857a3d8-10.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-parameters", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-private-methods", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-private-methods-npm-7.25.9-7cc0e44aa5-10.zip/node_modules/@babel/plugin-transform-private-methods/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-methods", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-methods-virtual-b0a5ff92b7/6/.yarn/berry/cache/@babel-plugin-transform-private-methods-npm-7.25.9-7cc0e44aa5-10.zip/node_modules/@babel/plugin-transform-private-methods/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-methods", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-private-property-in-object", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-private-property-in-object-npm-7.25.9-a9cd661d35-10.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-property-in-object", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-property-in-object-virtual-60526c7de3/6/.yarn/berry/cache/@babel-plugin-transform-private-property-in-object-npm-7.25.9-a9cd661d35-10.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-property-in-object", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-property-literals", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-property-literals-npm-7.25.9-144c769b17-10.zip/node_modules/@babel/plugin-transform-property-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-property-literals", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-property-literals-virtual-59cf705a10/6/.yarn/berry/cache/@babel-plugin-transform-property-literals-npm-7.25.9-144c769b17-10.zip/node_modules/@babel/plugin-transform-property-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-property-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-regenerator", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-regenerator-npm-7.25.9-c341e2ff83-10.zip/node_modules/@babel/plugin-transform-regenerator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regenerator", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regenerator-virtual-011e444bd2/6/.yarn/berry/cache/@babel-plugin-transform-regenerator-npm-7.25.9-c341e2ff83-10.zip/node_modules/@babel/plugin-transform-regenerator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regenerator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null],\ + ["regenerator-transform", "npm:0.15.2"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-regexp-modifiers", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-regexp-modifiers-npm-7.26.0-6c405fb13f-10.zip/node_modules/@babel/plugin-transform-regexp-modifiers/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regexp-modifiers", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regexp-modifiers-virtual-9e833df548/6/.yarn/berry/cache/@babel-plugin-transform-regexp-modifiers-npm-7.26.0-6c405fb13f-10.zip/node_modules/@babel/plugin-transform-regexp-modifiers/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regexp-modifiers", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-reserved-words", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-reserved-words-npm-7.25.9-1e24d80df4-10.zip/node_modules/@babel/plugin-transform-reserved-words/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-reserved-words", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-reserved-words-virtual-e6724f529e/6/.yarn/berry/cache/@babel-plugin-transform-reserved-words-npm-7.25.9-1e24d80df4-10.zip/node_modules/@babel/plugin-transform-reserved-words/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-reserved-words", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-shorthand-properties", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-shorthand-properties-npm-7.25.9-7ddce2fc87-10.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-shorthand-properties", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-shorthand-properties-virtual-98e5c9a5bd/6/.yarn/berry/cache/@babel-plugin-transform-shorthand-properties-npm-7.25.9-7ddce2fc87-10.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-shorthand-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-spread", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-spread-npm-7.25.9-e34887ef9d-10.zip/node_modules/@babel/plugin-transform-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-spread", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-spread-virtual-f4a8ab15a9/6/.yarn/berry/cache/@babel-plugin-transform-spread-npm-7.25.9-e34887ef9d-10.zip/node_modules/@babel/plugin-transform-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-spread", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-sticky-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-sticky-regex-npm-7.25.9-9945ceff11-10.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-sticky-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-sticky-regex-virtual-da89f88245/6/.yarn/berry/cache/@babel-plugin-transform-sticky-regex-npm-7.25.9-9945ceff11-10.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-sticky-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-template-literals", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-template-literals-npm-7.25.9-181964c580-10.zip/node_modules/@babel/plugin-transform-template-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-template-literals", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-template-literals-virtual-db2c095982/6/.yarn/berry/cache/@babel-plugin-transform-template-literals-npm-7.25.9-181964c580-10.zip/node_modules/@babel/plugin-transform-template-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-template-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-typeof-symbol", [\ + ["npm:7.26.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-typeof-symbol-npm-7.26.7-0464a22917-10.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typeof-symbol", "npm:7.26.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.7", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typeof-symbol-virtual-ce62a8b670/6/.yarn/berry/cache/@babel-plugin-transform-typeof-symbol-npm-7.26.7-0464a22917-10.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typeof-symbol", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.7"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-typescript", [\ + ["npm:7.26.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-typescript-npm-7.26.7-2ba919e8d1-10.zip/node_modules/@babel/plugin-transform-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typescript", "npm:7.26.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.26.7", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typescript-virtual-d391f3127b/6/.yarn/berry/cache/@babel-plugin-transform-typescript-npm-7.26.7-2ba919e8d1-10.zip/node_modules/@babel/plugin-transform-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typescript", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.26.7"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/plugin-syntax-typescript", "virtual:d391f3127bb3776a0d98f197f9da76204acb6865dc272a9880ffdb86ff33723ba790095479b0edef6d565f1c286e4accaa75aeb28f32e663b67a8f8a37705176#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-escapes", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-escapes-npm-7.25.9-242953211b-10.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-escapes", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-escapes-virtual-1bf58131a6/6/.yarn/berry/cache/@babel-plugin-transform-unicode-escapes-npm-7.25.9-242953211b-10.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-escapes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-property-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-property-regex-npm-7.25.9-f8b1b41e32-10.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-property-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-property-regex-virtual-31f797dc0b/6/.yarn/berry/cache/@babel-plugin-transform-unicode-property-regex-npm-7.25.9-f8b1b41e32-10.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-property-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-regex-npm-7.25.9-de9ae4f8a6-10.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-regex-virtual-2aed0d1195/6/.yarn/berry/cache/@babel-plugin-transform-unicode-regex-npm-7.25.9-de9ae4f8a6-10.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-sets-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.25.9-34b28bcb6c-10.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-sets-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-sets-regex-virtual-ff8296fb6f/6/.yarn/berry/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.25.9-34b28bcb6c-10.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-sets-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-env", [\ + ["npm:7.26.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-preset-env-npm-7.26.7-6a4ab3e02b-10.zip/node_modules/@babel/preset-env/",\ + "packageDependencies": [\ + ["@babel/preset-env", "npm:7.26.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.7", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-env-virtual-a676b068b5/6/.yarn/berry/cache/@babel-preset-env-npm-7.26.7-6a4ab3e02b-10.zip/node_modules/@babel/preset-env/",\ + "packageDependencies": [\ + ["@babel/preset-env", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.7"],\ + ["@babel/compat-data", "npm:7.26.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-compilation-targets", "npm:7.26.5"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-validator-option", "npm:7.25.9"],\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-proposal-private-property-in-object", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.21.0-placeholder-for-preset-env.2"],\ + ["@babel/plugin-syntax-import-assertions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ + ["@babel/plugin-syntax-unicode-sets-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.18.6"],\ + ["@babel/plugin-transform-arrow-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-async-generator-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-async-to-generator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.5"],\ + ["@babel/plugin-transform-block-scoping", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-class-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-class-static-block", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ + ["@babel/plugin-transform-classes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-computed-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-destructuring", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-dotall-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-duplicate-keys", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-dynamic-import", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ + ["@babel/plugin-transform-export-namespace-from", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-for-of", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-function-name", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-json-strings", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-logical-assignment-operators", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-member-expression-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-modules-amd", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ + ["@babel/plugin-transform-modules-systemjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-modules-umd", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-new-target", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.6"],\ + ["@babel/plugin-transform-numeric-separator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-object-rest-spread", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-object-super", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-optional-catch-binding", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-parameters", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-private-methods", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-private-property-in-object", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-property-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-regenerator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-regexp-modifiers", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ + ["@babel/plugin-transform-reserved-words", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-shorthand-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-spread", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-sticky-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-template-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-typeof-symbol", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.7"],\ + ["@babel/plugin-transform-unicode-escapes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-unicode-property-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-unicode-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/plugin-transform-unicode-sets-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ + ["@babel/preset-modules", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.1.6-no-external-plugins"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-corejs2", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.4.12"],\ + ["babel-plugin-polyfill-corejs3", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.10.6"],\ + ["babel-plugin-polyfill-regenerator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.6.3"],\ + ["core-js-compat", "npm:3.40.0"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-modules", [\ + ["npm:0.1.6-no-external-plugins", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-10.zip/node_modules/@babel/preset-modules/",\ + "packageDependencies": [\ + ["@babel/preset-modules", "npm:0.1.6-no-external-plugins"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.1.6-no-external-plugins", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-modules-virtual-955772776c/6/.yarn/berry/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-10.zip/node_modules/@babel/preset-modules/",\ + "packageDependencies": [\ + ["@babel/preset-modules", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.1.6-no-external-plugins"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/types", "npm:7.26.7"],\ + ["@types/babel__core", null],\ + ["esutils", "npm:2.0.3"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-typescript", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-preset-typescript-npm-7.26.0-0771d290dd-10.zip/node_modules/@babel/preset-typescript/",\ + "packageDependencies": [\ + ["@babel/preset-typescript", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-typescript-virtual-a1c18449f3/6/.yarn/berry/cache/@babel-preset-typescript-npm-7.26.0-0771d290dd-10.zip/node_modules/@babel/preset-typescript/",\ + "packageDependencies": [\ + ["@babel/preset-typescript", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-validator-option", "npm:7.25.9"],\ + ["@babel/plugin-syntax-jsx", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.25.9"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ + ["@babel/plugin-transform-typescript", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/register", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-register-npm-7.25.9-0fdfb6c1cb-10.zip/node_modules/@babel/register/",\ + "packageDependencies": [\ + ["@babel/register", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:495d1fe58a5940bbe6ad23c1da3ac225f191a10151292e2a512b89a882156dc81abe56f2b01722e6495421b7baa2b8c7f6e0182b3e50a07d7b825013dbb11cf9#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-register-virtual-517dfced52/6/.yarn/berry/cache/@babel-register-npm-7.25.9-0fdfb6c1cb-10.zip/node_modules/@babel/register/",\ + "packageDependencies": [\ + ["@babel/register", "virtual:495d1fe58a5940bbe6ad23c1da3ac225f191a10151292e2a512b89a882156dc81abe56f2b01722e6495421b7baa2b8c7f6e0182b3e50a07d7b825013dbb11cf9#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null],\ + ["clone-deep", "npm:4.0.1"],\ + ["find-cache-dir", "npm:2.1.0"],\ + ["make-dir", "npm:2.1.0"],\ + ["pirates", "npm:4.0.6"],\ + ["source-map-support", "npm:0.5.21"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/runtime", [\ + ["npm:7.26.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-runtime-npm-7.26.7-685f05ad2c-10.zip/node_modules/@babel/runtime/",\ + "packageDependencies": [\ + ["@babel/runtime", "npm:7.26.7"],\ + ["regenerator-runtime", "npm:0.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/template", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-template-npm-7.25.9-d903b7b6d5-10.zip/node_modules/@babel/template/",\ + "packageDependencies": [\ + ["@babel/template", "npm:7.25.9"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/traverse", [\ + ["npm:7.26.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-traverse-npm-7.26.7-18316b804e-10.zip/node_modules/@babel/traverse/",\ + "packageDependencies": [\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/generator", "npm:7.26.5"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/template", "npm:7.25.9"],\ + ["@babel/types", "npm:7.26.7"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["globals", "npm:11.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/types", [\ + ["npm:7.26.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@babel-types-npm-7.26.7-0a324aa562-10.zip/node_modules/@babel/types/",\ + "packageDependencies": [\ + ["@babel/types", "npm:7.26.7"],\ + ["@babel/helper-string-parser", "npm:7.25.9"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@bcoe/v8-coverage", [\ + ["npm:0.2.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10.zip/node_modules/@bcoe/v8-coverage/",\ + "packageDependencies": [\ + ["@bcoe/v8-coverage", "npm:0.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/eslint-utils", [\ + ["npm:4.4.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.1-c83a271e90-10.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "npm:4.4.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-f570407a4f/6/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.1-c83a271e90-10.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1"],\ + ["@types/eslint", null],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/regexpp", [\ + ["npm:4.12.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@eslint-community-regexpp-npm-4.12.1-ef4ab5217e-10.zip/node_modules/@eslint-community/regexpp/",\ + "packageDependencies": [\ + ["@eslint-community/regexpp", "npm:4.12.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/config-array", [\ + ["npm:0.19.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@eslint-config-array-npm-0.19.2-9310e910a9-10.zip/node_modules/@eslint/config-array/",\ + "packageDependencies": [\ + ["@eslint/config-array", "npm:0.19.2"],\ + ["@eslint/object-schema", "npm:2.1.6"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["minimatch", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/core", [\ + ["npm:0.10.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@eslint-core-npm-0.10.0-33fca4886d-10.zip/node_modules/@eslint/core/",\ + "packageDependencies": [\ + ["@eslint/core", "npm:0.10.0"],\ + ["@types/json-schema", "npm:7.0.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/eslintrc", [\ + ["npm:3.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@eslint-eslintrc-npm-3.2.0-1f7efe7868-10.zip/node_modules/@eslint/eslintrc/",\ + "packageDependencies": [\ + ["@eslint/eslintrc", "npm:3.2.0"],\ + ["ajv", "npm:6.12.6"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["espree", "npm:10.3.0"],\ + ["globals", "npm:14.0.0"],\ + ["ignore", "npm:5.3.2"],\ + ["import-fresh", "npm:3.3.0"],\ + ["js-yaml", "npm:4.1.0"],\ + ["minimatch", "npm:3.1.2"],\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/js", [\ + ["npm:9.19.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@eslint-js-npm-9.19.0-12d90bd733-10.zip/node_modules/@eslint/js/",\ + "packageDependencies": [\ + ["@eslint/js", "npm:9.19.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/object-schema", [\ + ["npm:2.1.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@eslint-object-schema-npm-2.1.6-a777ee59e8-10.zip/node_modules/@eslint/object-schema/",\ + "packageDependencies": [\ + ["@eslint/object-schema", "npm:2.1.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/plugin-kit", [\ + ["npm:0.2.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@eslint-plugin-kit-npm-0.2.5-aeb42dfdc6-10.zip/node_modules/@eslint/plugin-kit/",\ + "packageDependencies": [\ + ["@eslint/plugin-kit", "npm:0.2.5"],\ + ["@eslint/core", "npm:0.10.0"],\ + ["levn", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@exercism/babel-preset-typescript", [\ + ["npm:0.6.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@exercism-babel-preset-typescript-npm-0.6.0-ff2b4a191f-10.zip/node_modules/@exercism/babel-preset-typescript/",\ + "packageDependencies": [\ + ["@exercism/babel-preset-typescript", "npm:0.6.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/node", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ + ["@babel/preset-env", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.7"],\ + ["@babel/preset-typescript", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ + ["core-js", "npm:3.38.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@exercism/eslint-config-typescript", [\ + ["npm:0.8.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@exercism-eslint-config-typescript-npm-0.8.0-daf1290d14-10.zip/node_modules/@exercism/eslint-config-typescript/",\ + "packageDependencies": [\ + ["@exercism/eslint-config-typescript", "npm:0.8.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:0.8.0", {\ + "packageLocation": "./.yarn/__virtual__/@exercism-eslint-config-typescript-virtual-24e1be29e6/6/.yarn/berry/cache/@exercism-eslint-config-typescript-npm-0.8.0-daf1290d14-10.zip/node_modules/@exercism/eslint-config-typescript/",\ + "packageDependencies": [\ + ["@exercism/eslint-config-typescript", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:0.8.0"],\ + ["@eslint/js", "npm:9.19.0"],\ + ["@stylistic/eslint-plugin-ts", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:2.13.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["eslint-config-prettier", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:9.1.0"],\ + ["eslint-plugin-jest", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:28.11.0"],\ + ["globals", "npm:15.14.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"],\ + ["typescript-eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@exercism/typescript-anagram", [\ + ["workspace:.", {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["@exercism/typescript-anagram", "workspace:."],\ + ["@exercism/babel-preset-typescript", "npm:0.6.0"],\ + ["@exercism/eslint-config-typescript", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:0.8.0"],\ + ["@jest/globals", "npm:29.7.0"],\ + ["@types/node", "npm:22.7.9"],\ + ["babel-jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ + ["core-js", "npm:3.38.1"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["expect", "npm:29.7.0"],\ + ["jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ + ["prettier", "npm:3.4.2"],\ + ["tstyche", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:2.1.1"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"],\ + ["typescript-eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["@humanfs/core", [\ + ["npm:0.19.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-10.zip/node_modules/@humanfs/core/",\ + "packageDependencies": [\ + ["@humanfs/core", "npm:0.19.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanfs/node", [\ + ["npm:0.16.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@humanfs-node-npm-0.16.6-6ee2cad587-10.zip/node_modules/@humanfs/node/",\ + "packageDependencies": [\ + ["@humanfs/node", "npm:0.16.6"],\ + ["@humanfs/core", "npm:0.19.1"],\ + ["@humanwhocodes/retry", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/module-importer", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10.zip/node_modules/@humanwhocodes/module-importer/",\ + "packageDependencies": [\ + ["@humanwhocodes/module-importer", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/retry", [\ + ["npm:0.3.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-10.zip/node_modules/@humanwhocodes/retry/",\ + "packageDependencies": [\ + ["@humanwhocodes/retry", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.4.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@humanwhocodes-retry-npm-0.4.1-44b0ee0d64-10.zip/node_modules/@humanwhocodes/retry/",\ + "packageDependencies": [\ + ["@humanwhocodes/retry", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@isaacs/cliui", [\ + ["npm:8.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10.zip/node_modules/@isaacs/cliui/",\ + "packageDependencies": [\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["string-width", "npm:5.1.2"],\ + ["string-width-cjs", [\ + "string-width",\ + "npm:4.2.3"\ + ]],\ + ["strip-ansi", "npm:7.1.0"],\ + ["strip-ansi-cjs", [\ + "strip-ansi",\ + "npm:6.0.1"\ + ]],\ + ["wrap-ansi", "npm:8.1.0"],\ + ["wrap-ansi-cjs", [\ + "wrap-ansi",\ + "npm:7.0.0"\ + ]]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@isaacs/fs-minipass", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-10.zip/node_modules/@isaacs/fs-minipass/",\ + "packageDependencies": [\ + ["@isaacs/fs-minipass", "npm:4.0.1"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@istanbuljs/load-nyc-config", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-10.zip/node_modules/@istanbuljs/load-nyc-config/",\ + "packageDependencies": [\ + ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\ + ["camelcase", "npm:5.3.1"],\ + ["find-up", "npm:4.1.0"],\ + ["get-package-type", "npm:0.1.0"],\ + ["js-yaml", "npm:3.14.1"],\ + ["resolve-from", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@istanbuljs/schema", [\ + ["npm:0.1.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10.zip/node_modules/@istanbuljs/schema/",\ + "packageDependencies": [\ + ["@istanbuljs/schema", "npm:0.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/console", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-console-npm-29.7.0-77689f186f-10.zip/node_modules/@jest/console/",\ + "packageDependencies": [\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["chalk", "npm:4.1.2"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/core", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-core-npm-29.7.0-cef60d74c4-10.zip/node_modules/@jest/core/",\ + "packageDependencies": [\ + ["@jest/core", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/@jest-core-virtual-b4af133f42/6/.yarn/berry/cache/@jest-core-npm-29.7.0-cef60d74c4-10.zip/node_modules/@jest/core/",\ + "packageDependencies": [\ + ["@jest/core", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/reporters", "virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["@types/node-notifier", null],\ + ["ansi-escapes", "npm:4.3.2"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.9.0"],\ + ["exit", "npm:0.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-changed-files", "npm:29.7.0"],\ + ["jest-config", "virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-resolve-dependencies", "npm:29.7.0"],\ + ["jest-runner", "npm:29.7.0"],\ + ["jest-runtime", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["jest-watcher", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["node-notifier", null],\ + ["pretty-format", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/environment", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-environment-npm-29.7.0-97705658d0-10.zip/node_modules/@jest/environment/",\ + "packageDependencies": [\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["jest-mock", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/expect", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-expect-npm-29.7.0-9dfe9cebaa-10.zip/node_modules/@jest/expect/",\ + "packageDependencies": [\ + ["@jest/expect", "npm:29.7.0"],\ + ["expect", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/expect-utils", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-expect-utils-npm-29.7.0-14740cc487-10.zip/node_modules/@jest/expect-utils/",\ + "packageDependencies": [\ + ["@jest/expect-utils", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/fake-timers", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-fake-timers-npm-29.7.0-e4174d1b56-10.zip/node_modules/@jest/fake-timers/",\ + "packageDependencies": [\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@sinonjs/fake-timers", "npm:10.3.0"],\ + ["@types/node", "npm:22.13.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-mock", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/globals", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-globals-npm-29.7.0-06f2bd411e-10.zip/node_modules/@jest/globals/",\ + "packageDependencies": [\ + ["@jest/globals", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/expect", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["jest-mock", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/reporters", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-reporters-npm-29.7.0-2561cd7a09-10.zip/node_modules/@jest/reporters/",\ + "packageDependencies": [\ + ["@jest/reporters", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/@jest-reporters-virtual-0969ecac0c/6/.yarn/berry/cache/@jest-reporters-npm-29.7.0-2561cd7a09-10.zip/node_modules/@jest/reporters/",\ + "packageDependencies": [\ + ["@jest/reporters", "virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0"],\ + ["@bcoe/v8-coverage", "npm:0.2.3"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@types/node", "npm:22.13.0"],\ + ["@types/node-notifier", null],\ + ["chalk", "npm:4.1.2"],\ + ["collect-v8-coverage", "npm:1.0.2"],\ + ["exit", "npm:0.1.2"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["istanbul-lib-instrument", "npm:6.0.3"],\ + ["istanbul-lib-report", "npm:3.0.1"],\ + ["istanbul-lib-source-maps", "npm:4.0.1"],\ + ["istanbul-reports", "npm:3.1.7"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-worker", "npm:29.7.0"],\ + ["node-notifier", null],\ + ["slash", "npm:3.0.0"],\ + ["string-length", "npm:4.0.2"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["v8-to-istanbul", "npm:9.3.0"]\ + ],\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/schemas", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10.zip/node_modules/@jest/schemas/",\ + "packageDependencies": [\ + ["@jest/schemas", "npm:29.6.3"],\ + ["@sinclair/typebox", "npm:0.27.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/source-map", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-source-map-npm-29.6.3-8bb8289263-10.zip/node_modules/@jest/source-map/",\ + "packageDependencies": [\ + ["@jest/source-map", "npm:29.6.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["callsites", "npm:3.1.0"],\ + ["graceful-fs", "npm:4.2.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/test-result", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-test-result-npm-29.7.0-4bb532101b-10.zip/node_modules/@jest/test-result/",\ + "packageDependencies": [\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ + ["collect-v8-coverage", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/test-sequencer", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-test-sequencer-npm-29.7.0-291f23a495-10.zip/node_modules/@jest/test-sequencer/",\ + "packageDependencies": [\ + ["@jest/test-sequencer", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/transform", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-transform-npm-29.7.0-af20d68b57-10.zip/node_modules/@jest/transform/",\ + "packageDependencies": [\ + ["@jest/transform", "npm:29.7.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["babel-plugin-istanbul", "npm:6.1.1"],\ + ["chalk", "npm:4.1.2"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["fast-json-stable-stringify", "npm:2.1.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-util", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["pirates", "npm:4.0.6"],\ + ["slash", "npm:3.0.0"],\ + ["write-file-atomic", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/types", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jest-types-npm-29.6.3-a584ca999d-10.zip/node_modules/@jest/types/",\ + "packageDependencies": [\ + ["@jest/types", "npm:29.6.3"],\ + ["@jest/schemas", "npm:29.6.3"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ + ["@types/istanbul-reports", "npm:3.0.4"],\ + ["@types/node", "npm:22.13.0"],\ + ["@types/yargs", "npm:17.0.33"],\ + ["chalk", "npm:4.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/gen-mapping", [\ + ["npm:0.3.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.8-647be6e286-10.zip/node_modules/@jridgewell/gen-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/gen-mapping", "npm:0.3.8"],\ + ["@jridgewell/set-array", "npm:1.2.1"],\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/resolve-uri", [\ + ["npm:3.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-10.zip/node_modules/@jridgewell/resolve-uri/",\ + "packageDependencies": [\ + ["@jridgewell/resolve-uri", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/set-array", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-set-array-npm-1.2.1-2312928209-10.zip/node_modules/@jridgewell/set-array/",\ + "packageDependencies": [\ + ["@jridgewell/set-array", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/sourcemap-codec", [\ + ["npm:1.5.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-10.zip/node_modules/@jridgewell/sourcemap-codec/",\ + "packageDependencies": [\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/trace-mapping", [\ + ["npm:0.3.25", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-10.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@jridgewell/resolve-uri", "npm:3.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.scandir", [\ + ["npm:2.1.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10.zip/node_modules/@nodelib/fs.scandir/",\ + "packageDependencies": [\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["run-parallel", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.stat", [\ + ["npm:2.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10.zip/node_modules/@nodelib/fs.stat/",\ + "packageDependencies": [\ + ["@nodelib/fs.stat", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.walk", [\ + ["npm:1.2.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10.zip/node_modules/@nodelib/fs.walk/",\ + "packageDependencies": [\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["fastq", "npm:1.19.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/agent", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@npmcli-agent-npm-3.0.0-169e79294f-10.zip/node_modules/@npmcli/agent/",\ + "packageDependencies": [\ + ["@npmcli/agent", "npm:3.0.0"],\ + ["agent-base", "npm:7.1.3"],\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["https-proxy-agent", "npm:7.0.6"],\ + ["lru-cache", "npm:10.4.3"],\ + ["socks-proxy-agent", "npm:8.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/fs", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@npmcli-fs-npm-4.0.0-1d9cc8a27b-10.zip/node_modules/@npmcli/fs/",\ + "packageDependencies": [\ + ["@npmcli/fs", "npm:4.0.0"],\ + ["semver", "npm:7.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@pkgjs/parseargs", [\ + ["npm:0.11.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10.zip/node_modules/@pkgjs/parseargs/",\ + "packageDependencies": [\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sinclair/typebox", [\ + ["npm:0.27.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10.zip/node_modules/@sinclair/typebox/",\ + "packageDependencies": [\ + ["@sinclair/typebox", "npm:0.27.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sinonjs/commons", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@sinonjs-commons-npm-3.0.1-bffb9f5a53-10.zip/node_modules/@sinonjs/commons/",\ + "packageDependencies": [\ + ["@sinonjs/commons", "npm:3.0.1"],\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sinonjs/fake-timers", [\ + ["npm:10.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@sinonjs-fake-timers-npm-10.3.0-7417f876b4-10.zip/node_modules/@sinonjs/fake-timers/",\ + "packageDependencies": [\ + ["@sinonjs/fake-timers", "npm:10.3.0"],\ + ["@sinonjs/commons", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@stylistic/eslint-plugin-ts", [\ + ["npm:2.13.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@stylistic-eslint-plugin-ts-npm-2.13.0-63d148f2b7-10.zip/node_modules/@stylistic/eslint-plugin-ts/",\ + "packageDependencies": [\ + ["@stylistic/eslint-plugin-ts", "npm:2.13.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:2.13.0", {\ + "packageLocation": "./.yarn/__virtual__/@stylistic-eslint-plugin-ts-virtual-1b19ec744e/6/.yarn/berry/cache/@stylistic-eslint-plugin-ts-npm-2.13.0-63d148f2b7-10.zip/node_modules/@stylistic/eslint-plugin-ts/",\ + "packageDependencies": [\ + ["@stylistic/eslint-plugin-ts", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:2.13.0"],\ + ["@types/eslint", null],\ + ["@typescript-eslint/utils", "virtual:1b19ec744e249ebe6ea2a6cdca70496a020427e774ceba2c416875d4437aa581adb4c20262b3d46127087d3d5c26751962e16aee89940c9a82955c75070f55a7#npm:8.22.0"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["eslint-visitor-keys", "npm:4.2.0"],\ + ["espree", "npm:10.3.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/babel__core", [\ + ["npm:7.20.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-babel__core-npm-7.20.5-4d95f75eab-10.zip/node_modules/@types/babel__core/",\ + "packageDependencies": [\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"],\ + ["@types/babel__generator", "npm:7.6.8"],\ + ["@types/babel__template", "npm:7.4.4"],\ + ["@types/babel__traverse", "npm:7.20.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/babel__generator", [\ + ["npm:7.6.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-babel__generator-npm-7.6.8-61be1197d9-10.zip/node_modules/@types/babel__generator/",\ + "packageDependencies": [\ + ["@types/babel__generator", "npm:7.6.8"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/babel__template", [\ + ["npm:7.4.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-babel__template-npm-7.4.4-f34eba762c-10.zip/node_modules/@types/babel__template/",\ + "packageDependencies": [\ + ["@types/babel__template", "npm:7.4.4"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/babel__traverse", [\ + ["npm:7.20.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-babel__traverse-npm-7.20.6-fac4243243-10.zip/node_modules/@types/babel__traverse/",\ + "packageDependencies": [\ + ["@types/babel__traverse", "npm:7.20.6"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/estree", [\ + ["npm:1.0.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-estree-npm-1.0.6-b5e23f2ea2-10.zip/node_modules/@types/estree/",\ + "packageDependencies": [\ + ["@types/estree", "npm:1.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/graceful-fs", [\ + ["npm:4.1.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-graceful-fs-npm-4.1.9-ebd697fe83-10.zip/node_modules/@types/graceful-fs/",\ + "packageDependencies": [\ + ["@types/graceful-fs", "npm:4.1.9"],\ + ["@types/node", "npm:22.13.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-lib-coverage", [\ + ["npm:2.0.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10.zip/node_modules/@types/istanbul-lib-coverage/",\ + "packageDependencies": [\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-lib-report", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-istanbul-lib-report-npm-3.0.3-a5c0ef4b88-10.zip/node_modules/@types/istanbul-lib-report/",\ + "packageDependencies": [\ + ["@types/istanbul-lib-report", "npm:3.0.3"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-reports", [\ + ["npm:3.0.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-istanbul-reports-npm-3.0.4-1afa69db29-10.zip/node_modules/@types/istanbul-reports/",\ + "packageDependencies": [\ + ["@types/istanbul-reports", "npm:3.0.4"],\ + ["@types/istanbul-lib-report", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/json-schema", [\ + ["npm:7.0.15", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10.zip/node_modules/@types/json-schema/",\ + "packageDependencies": [\ + ["@types/json-schema", "npm:7.0.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/node", [\ + ["npm:22.13.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-node-npm-22.13.0-ce5ef5ab7c-10.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:22.13.0"],\ + ["undici-types", "npm:6.20.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:22.7.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-node-npm-22.7.9-03392d8185-10.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:22.7.9"],\ + ["undici-types", "npm:6.19.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/stack-utils", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-stack-utils-npm-2.0.3-48a0a03262-10.zip/node_modules/@types/stack-utils/",\ + "packageDependencies": [\ + ["@types/stack-utils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/yargs", [\ + ["npm:17.0.33", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-yargs-npm-17.0.33-1d6cca6a2e-10.zip/node_modules/@types/yargs/",\ + "packageDependencies": [\ + ["@types/yargs", "npm:17.0.33"],\ + ["@types/yargs-parser", "npm:21.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/yargs-parser", [\ + ["npm:21.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@types-yargs-parser-npm-21.0.3-1d265246a1-10.zip/node_modules/@types/yargs-parser/",\ + "packageDependencies": [\ + ["@types/yargs-parser", "npm:21.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/eslint-plugin", [\ + ["npm:8.22.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-8.22.0-3ffeac3a34-10.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "npm:8.22.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-b318e639d6/6/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-8.22.0-3ffeac3a34-10.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ + ["@eslint-community/regexpp", "npm:4.12.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@types/typescript-eslint__parser", null],\ + ["@typescript-eslint/parser", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ + ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ + ["@typescript-eslint/type-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:8.22.0"],\ + ["@typescript-eslint/utils", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ + ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["graphemer", "npm:1.4.0"],\ + ["ignore", "npm:5.3.2"],\ + ["natural-compare", "npm:1.4.0"],\ + ["ts-api-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript-eslint__parser",\ + "@types/typescript",\ + "@typescript-eslint/parser",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/parser", [\ + ["npm:8.22.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-parser-npm-8.22.0-024bd80eca-10.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "npm:8.22.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-3ea0f070b7/6/.yarn/berry/cache/@typescript-eslint-parser-npm-8.22.0-024bd80eca-10.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ + ["@typescript-eslint/types", "npm:8.22.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0"],\ + ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/scope-manager", [\ + ["npm:8.22.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-8.22.0-e9d4565a7f-10.zip/node_modules/@typescript-eslint/scope-manager/",\ + "packageDependencies": [\ + ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ + ["@typescript-eslint/types", "npm:8.22.0"],\ + ["@typescript-eslint/visitor-keys", "npm:8.22.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/type-utils", [\ + ["npm:8.22.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-type-utils-npm-8.22.0-318d6614d2-10.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "npm:8.22.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:8.22.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-db67e7d842/6/.yarn/berry/cache/@typescript-eslint-type-utils-npm-8.22.0-318d6614d2-10.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:8.22.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/typescript-estree", "virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0"],\ + ["@typescript-eslint/utils", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["ts-api-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/types", [\ + ["npm:8.22.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-types-npm-8.22.0-cc19234a46-10.zip/node_modules/@typescript-eslint/types/",\ + "packageDependencies": [\ + ["@typescript-eslint/types", "npm:8.22.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/typescript-estree", [\ + ["npm:8.22.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-8.22.0-3f7a16feac-10.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "npm:8.22.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:8.22.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-b948890d16/6/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-8.22.0-3f7a16feac-10.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:8.22.0"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:8.22.0"],\ + ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["fast-glob", "npm:3.3.3"],\ + ["is-glob", "npm:4.0.3"],\ + ["minimatch", "npm:9.0.5"],\ + ["semver", "npm:7.7.0"],\ + ["ts-api-utils", "virtual:b948890d16c03d415192e4901d37e9bc453f7f9f8297f171b2dbe6746ece85503a62863bd1469b5e188f375dd117e9f8c04ee4d2c17371d6ef10f590030faaa5#npm:2.0.0"],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-467861b855/6/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-8.22.0-3f7a16feac-10.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:8.22.0"],\ + ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["fast-glob", "npm:3.3.3"],\ + ["is-glob", "npm:4.0.3"],\ + ["minimatch", "npm:9.0.5"],\ + ["semver", "npm:7.7.0"],\ + ["ts-api-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/utils", [\ + ["npm:8.22.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-utils-npm-8.22.0-5491e74318-10.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "npm:8.22.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1b19ec744e249ebe6ea2a6cdca70496a020427e774ceba2c416875d4437aa581adb4c20262b3d46127087d3d5c26751962e16aee89940c9a82955c75070f55a7#npm:8.22.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-1863e04770/6/.yarn/berry/cache/@typescript-eslint-utils-npm-8.22.0-5491e74318-10.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "virtual:1b19ec744e249ebe6ea2a6cdca70496a020427e774ceba2c416875d4437aa581adb4c20262b3d46127087d3d5c26751962e16aee89940c9a82955c75070f55a7#npm:8.22.0"],\ + ["@eslint-community/eslint-utils", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ + ["@typescript-eslint/types", "npm:8.22.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:8.22.0"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-ef51c6e448/6/.yarn/berry/cache/@typescript-eslint-utils-npm-8.22.0-5491e74318-10.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ + ["@eslint-community/eslint-utils", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ + ["@typescript-eslint/types", "npm:8.22.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/visitor-keys", [\ + ["npm:8.22.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-8.22.0-5832313ce6-10.zip/node_modules/@typescript-eslint/visitor-keys/",\ + "packageDependencies": [\ + ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ + ["@typescript-eslint/types", "npm:8.22.0"],\ + ["eslint-visitor-keys", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["abbrev", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/abbrev-npm-3.0.0-946682a7b1-10.zip/node_modules/abbrev/",\ + "packageDependencies": [\ + ["abbrev", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn", [\ + ["npm:8.14.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/acorn-npm-8.14.0-dc46f61424-10.zip/node_modules/acorn/",\ + "packageDependencies": [\ + ["acorn", "npm:8.14.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn-jsx", [\ + ["npm:5.3.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "npm:5.3.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2", {\ + "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-64331c13be/6/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2"],\ + ["@types/acorn", null],\ + ["acorn", "npm:8.14.0"]\ + ],\ + "packagePeers": [\ + "@types/acorn",\ + "acorn"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["agent-base", [\ + ["npm:7.1.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/agent-base-npm-7.1.3-b2c16e72fb-10.zip/node_modules/agent-base/",\ + "packageDependencies": [\ + ["agent-base", "npm:7.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ajv", [\ + ["npm:6.12.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10.zip/node_modules/ajv/",\ + "packageDependencies": [\ + ["ajv", "npm:6.12.6"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["fast-json-stable-stringify", "npm:2.1.0"],\ + ["json-schema-traverse", "npm:0.4.1"],\ + ["uri-js", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-escapes", [\ + ["npm:4.3.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ansi-escapes-npm-4.3.2-3ad173702f-10.zip/node_modules/ansi-escapes/",\ + "packageDependencies": [\ + ["ansi-escapes", "npm:4.3.2"],\ + ["type-fest", "npm:0.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-regex", [\ + ["npm:5.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ansi-regex-npm-6.1.0-abe011aae4-10.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-styles", [\ + ["npm:4.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:4.3.0"],\ + ["color-convert", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:5.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:6.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["anymatch", [\ + ["npm:3.1.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/anymatch-npm-3.1.3-bc81d103b1-10.zip/node_modules/anymatch/",\ + "packageDependencies": [\ + ["anymatch", "npm:3.1.3"],\ + ["normalize-path", "npm:3.0.0"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["argparse", [\ + ["npm:1.0.10", {\ + "packageLocation": "../../../../../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:1.0.10"],\ + ["sprintf-js", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array-buffer-byte-length", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/array-buffer-byte-length-npm-1.0.2-c2be1e97e0-10.zip/node_modules/array-buffer-byte-length/",\ + "packageDependencies": [\ + ["array-buffer-byte-length", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.3"],\ + ["is-array-buffer", "npm:3.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array.prototype.reduce", [\ + ["npm:1.0.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/array.prototype.reduce-npm-1.0.7-68b13a3834-10.zip/node_modules/array.prototype.reduce/",\ + "packageDependencies": [\ + ["array.prototype.reduce", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-array-method-boxes-properly", "npm:1.0.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["is-string", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["arraybuffer.prototype.slice", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/arraybuffer.prototype.slice-npm-1.0.4-01f62a9713-10.zip/node_modules/arraybuffer.prototype.slice/",\ + "packageDependencies": [\ + ["arraybuffer.prototype.slice", "npm:1.0.4"],\ + ["array-buffer-byte-length", "npm:1.0.2"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["is-array-buffer", "npm:3.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["async-function", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/async-function-npm-1.0.0-a81667ebcd-10.zip/node_modules/async-function/",\ + "packageDependencies": [\ + ["async-function", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["available-typed-arrays", [\ + ["npm:1.0.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/available-typed-arrays-npm-1.0.7-e5e5d79687-10.zip/node_modules/available-typed-arrays/",\ + "packageDependencies": [\ + ["available-typed-arrays", "npm:1.0.7"],\ + ["possible-typed-array-names", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-jest", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/babel-jest-npm-29.7.0-273152fbe9-10.zip/node_modules/babel-jest/",\ + "packageDependencies": [\ + ["babel-jest", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:084d56f2e02accc93077937a3791d450ffcf1772776998237a61731f47b51e7cd5bcd94d9dc3171351c5d5b9a521ad7d47a3208c06054ea4dcf216d5f27c66d9#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-jest-virtual-2b342c4645/6/.yarn/berry/cache/babel-jest-npm-29.7.0-273152fbe9-10.zip/node_modules/babel-jest/",\ + "packageDependencies": [\ + ["babel-jest", "virtual:084d56f2e02accc93077937a3791d450ffcf1772776998237a61731f47b51e7cd5bcd94d9dc3171351c5d5b9a521ad7d47a3208c06054ea4dcf216d5f27c66d9#npm:29.7.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["babel-plugin-istanbul", "npm:6.1.1"],\ + ["babel-preset-jest", "virtual:2b342c4645ec23c739edc0b9bb80a1319f261b1e7ea04bd46431994abb71d77b7f9f3525a75b23a464381b84cba158efcad8ac7841c97320dd14816dd3dd1ceb#npm:29.6.3"],\ + ["chalk", "npm:4.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "packagePeers": [\ + "@babel/core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-jest-virtual-492c57a17d/6/.yarn/berry/cache/babel-jest-npm-29.7.0-273152fbe9-10.zip/node_modules/babel-jest/",\ + "packageDependencies": [\ + ["babel-jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ + ["@babel/core", null],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["babel-plugin-istanbul", "npm:6.1.1"],\ + ["babel-preset-jest", "virtual:492c57a17dd58e7fe872b1cd618656c340ca7cfe2e8de3c7cee6923a21cac20ba5052d292a83e3e94eb050fceb624d9e083c692218ca5ece6c93171ca0dd3d47#npm:29.6.3"],\ + ["chalk", "npm:4.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "packagePeers": [\ + "@babel/core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-istanbul", [\ + ["npm:6.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-istanbul-npm-6.1.1-df824055e4-10.zip/node_modules/babel-plugin-istanbul/",\ + "packageDependencies": [\ + ["babel-plugin-istanbul", "npm:6.1.1"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\ + ["@istanbuljs/schema", "npm:0.1.3"],\ + ["istanbul-lib-instrument", "npm:5.2.1"],\ + ["test-exclude", "npm:6.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-jest-hoist", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-jest-hoist-npm-29.6.3-46120a3297-10.zip/node_modules/babel-plugin-jest-hoist/",\ + "packageDependencies": [\ + ["babel-plugin-jest-hoist", "npm:29.6.3"],\ + ["@babel/template", "npm:7.25.9"],\ + ["@babel/types", "npm:7.26.7"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__traverse", "npm:7.20.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-corejs2", [\ + ["npm:0.4.12", {\ + "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-polyfill-corejs2-npm-0.4.12-d572de89f3-10.zip/node_modules/babel-plugin-polyfill-corejs2/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs2", "npm:0.4.12"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.4.12", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs2-virtual-2c303a9fac/6/.yarn/berry/cache/babel-plugin-polyfill-corejs2-npm-0.4.12-d572de89f3-10.zip/node_modules/babel-plugin-polyfill-corejs2/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs2", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.4.12"],\ + ["@babel/compat-data", "npm:7.26.5"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-define-polyfill-provider", "virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3"],\ + ["@types/babel__core", null],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-corejs3", [\ + ["npm:0.10.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-polyfill-corejs3-npm-0.10.6-066bf0a146-10.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "npm:0.10.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.10.6", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs3-virtual-b47909b291/6/.yarn/berry/cache/babel-plugin-polyfill-corejs3-npm-0.10.6-066bf0a146-10.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.10.6"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-define-polyfill-provider", "virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3"],\ + ["@types/babel__core", null],\ + ["core-js-compat", "npm:3.40.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-regenerator", [\ + ["npm:0.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-polyfill-regenerator-npm-0.6.3-03c3464221-10.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-regenerator", "npm:0.6.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.6.3", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-regenerator-virtual-493296f10a/6/.yarn/berry/cache/babel-plugin-polyfill-regenerator-npm-0.6.3-03c3464221-10.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-regenerator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.6.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-define-polyfill-provider", "virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-preset-current-node-syntax", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ + "packageDependencies": [\ + ["babel-preset-current-node-syntax", "npm:1.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:1.1.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-56983eadc3/6/.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ + "packageDependencies": [\ + ["babel-preset-current-node-syntax", "virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:1.1.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/plugin-syntax-async-generators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.4"],\ + ["@babel/plugin-syntax-bigint", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-class-properties", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.12.13"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ + ["@babel/plugin-syntax-import-meta", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/plugin-syntax-json-strings", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/plugin-syntax-top-level-await", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:17f1ca3a3fd2150b770e68c3f2f2dab88f227260cafc708550722fc1de581e7c92d4823406444bb02d3009ff6cf01cf931a96b7d17a6b7b54df554c799e10a64#npm:1.1.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-68af3c8b14/6/.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ + "packageDependencies": [\ + ["babel-preset-current-node-syntax", "virtual:17f1ca3a3fd2150b770e68c3f2f2dab88f227260cafc708550722fc1de581e7c92d4823406444bb02d3009ff6cf01cf931a96b7d17a6b7b54df554c799e10a64#npm:1.1.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/plugin-syntax-async-generators", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.4"],\ + ["@babel/plugin-syntax-bigint", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/plugin-syntax-class-properties", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.12.13"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.26.0"],\ + ["@babel/plugin-syntax-import-meta", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ + ["@babel/plugin-syntax-json-strings", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ + ["@babel/plugin-syntax-top-level-await", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:6c10e7948ec51d2f33974d3716e4b04adf535b5ee3f1980af59d8d595578a936bb7580a163972d2c9dd5e26b4e13ae10d48e86e81a98c68786103b00cfb55e56#npm:1.1.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-7c0e0ff194/6/.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ + "packageDependencies": [\ + ["babel-preset-current-node-syntax", "virtual:6c10e7948ec51d2f33974d3716e4b04adf535b5ee3f1980af59d8d595578a936bb7580a163972d2c9dd5e26b4e13ae10d48e86e81a98c68786103b00cfb55e56#npm:1.1.0"],\ + ["@babel/core", null],\ + ["@babel/plugin-syntax-async-generators", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.4"],\ + ["@babel/plugin-syntax-bigint", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/plugin-syntax-class-properties", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.12.13"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.26.0"],\ + ["@babel/plugin-syntax-import-meta", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ + ["@babel/plugin-syntax-json-strings", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ + ["@babel/plugin-syntax-top-level-await", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-preset-jest", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/babel-preset-jest-npm-29.6.3-44bf6eeda9-10.zip/node_modules/babel-preset-jest/",\ + "packageDependencies": [\ + ["babel-preset-jest", "npm:29.6.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2b342c4645ec23c739edc0b9bb80a1319f261b1e7ea04bd46431994abb71d77b7f9f3525a75b23a464381b84cba158efcad8ac7841c97320dd14816dd3dd1ceb#npm:29.6.3", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-jest-virtual-17f1ca3a3f/6/.yarn/berry/cache/babel-preset-jest-npm-29.6.3-44bf6eeda9-10.zip/node_modules/babel-preset-jest/",\ + "packageDependencies": [\ + ["babel-preset-jest", "virtual:2b342c4645ec23c739edc0b9bb80a1319f261b1e7ea04bd46431994abb71d77b7f9f3525a75b23a464381b84cba158efcad8ac7841c97320dd14816dd3dd1ceb#npm:29.6.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["babel-plugin-jest-hoist", "npm:29.6.3"],\ + ["babel-preset-current-node-syntax", "virtual:17f1ca3a3fd2150b770e68c3f2f2dab88f227260cafc708550722fc1de581e7c92d4823406444bb02d3009ff6cf01cf931a96b7d17a6b7b54df554c799e10a64#npm:1.1.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:492c57a17dd58e7fe872b1cd618656c340ca7cfe2e8de3c7cee6923a21cac20ba5052d292a83e3e94eb050fceb624d9e083c692218ca5ece6c93171ca0dd3d47#npm:29.6.3", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-jest-virtual-6c10e7948e/6/.yarn/berry/cache/babel-preset-jest-npm-29.6.3-44bf6eeda9-10.zip/node_modules/babel-preset-jest/",\ + "packageDependencies": [\ + ["babel-preset-jest", "virtual:492c57a17dd58e7fe872b1cd618656c340ca7cfe2e8de3c7cee6923a21cac20ba5052d292a83e3e94eb050fceb624d9e083c692218ca5ece6c93171ca0dd3d47#npm:29.6.3"],\ + ["@babel/core", null],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["babel-plugin-jest-hoist", "npm:29.6.3"],\ + ["babel-preset-current-node-syntax", "virtual:6c10e7948ec51d2f33974d3716e4b04adf535b5ee3f1980af59d8d595578a936bb7580a163972d2c9dd5e26b4e13ae10d48e86e81a98c68786103b00cfb55e56#npm:1.1.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["balanced-match", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10.zip/node_modules/balanced-match/",\ + "packageDependencies": [\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["brace-expansion", [\ + ["npm:1.1.11", {\ + "packageLocation": "../../../../../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:1.1.11"],\ + ["balanced-match", "npm:1.0.2"],\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:2.0.1"],\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["braces", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/braces-npm-3.0.3-582c14023c-10.zip/node_modules/braces/",\ + "packageDependencies": [\ + ["braces", "npm:3.0.3"],\ + ["fill-range", "npm:7.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["browserslist", [\ + ["npm:4.24.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/browserslist-npm-4.24.4-2fdeb5face-10.zip/node_modules/browserslist/",\ + "packageDependencies": [\ + ["browserslist", "npm:4.24.4"],\ + ["caniuse-lite", "npm:1.0.30001696"],\ + ["electron-to-chromium", "npm:1.5.90"],\ + ["node-releases", "npm:2.0.19"],\ + ["update-browserslist-db", "virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bser", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/bser-npm-2.1.1-cc902055ce-10.zip/node_modules/bser/",\ + "packageDependencies": [\ + ["bser", "npm:2.1.1"],\ + ["node-int64", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["buffer-from", [\ + ["npm:1.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10.zip/node_modules/buffer-from/",\ + "packageDependencies": [\ + ["buffer-from", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cacache", [\ + ["npm:19.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/cacache-npm-19.0.1-395cba1936-10.zip/node_modules/cacache/",\ + "packageDependencies": [\ + ["cacache", "npm:19.0.1"],\ + ["@npmcli/fs", "npm:4.0.0"],\ + ["fs-minipass", "npm:3.0.3"],\ + ["glob", "npm:10.4.5"],\ + ["lru-cache", "npm:10.4.3"],\ + ["minipass", "npm:7.1.2"],\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["p-map", "npm:7.0.3"],\ + ["ssri", "npm:12.0.0"],\ + ["tar", "npm:7.4.3"],\ + ["unique-filename", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["call-bind", [\ + ["npm:1.0.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/call-bind-npm-1.0.8-4145a20621-10.zip/node_modules/call-bind/",\ + "packageDependencies": [\ + ["call-bind", "npm:1.0.8"],\ + ["call-bind-apply-helpers", "npm:1.0.1"],\ + ["es-define-property", "npm:1.0.1"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["set-function-length", "npm:1.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["call-bind-apply-helpers", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/call-bind-apply-helpers-npm-1.0.1-cda777c96d-10.zip/node_modules/call-bind-apply-helpers/",\ + "packageDependencies": [\ + ["call-bind-apply-helpers", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["function-bind", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["call-bound", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/call-bound-npm-1.0.3-f4cbf26326-10.zip/node_modules/call-bound/",\ + "packageDependencies": [\ + ["call-bound", "npm:1.0.3"],\ + ["call-bind-apply-helpers", "npm:1.0.1"],\ + ["get-intrinsic", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["callsites", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10.zip/node_modules/callsites/",\ + "packageDependencies": [\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["camelcase", [\ + ["npm:5.3.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/camelcase-npm-5.3.1-5db8af62c5-10.zip/node_modules/camelcase/",\ + "packageDependencies": [\ + ["camelcase", "npm:5.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/camelcase-npm-6.3.0-e5e42a0d15-10.zip/node_modules/camelcase/",\ + "packageDependencies": [\ + ["camelcase", "npm:6.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["caniuse-lite", [\ + ["npm:1.0.30001696", {\ + "packageLocation": "../../../../../.yarn/berry/cache/caniuse-lite-npm-1.0.30001696-067c2f955f-10.zip/node_modules/caniuse-lite/",\ + "packageDependencies": [\ + ["caniuse-lite", "npm:1.0.30001696"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chalk", [\ + ["npm:4.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10.zip/node_modules/chalk/",\ + "packageDependencies": [\ + ["chalk", "npm:4.1.2"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["supports-color", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["char-regex", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/char-regex-npm-1.0.2-ecade5f97f-10.zip/node_modules/char-regex/",\ + "packageDependencies": [\ + ["char-regex", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chownr", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/chownr-npm-3.0.0-5275e85d25-10.zip/node_modules/chownr/",\ + "packageDependencies": [\ + ["chownr", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ci-info", [\ + ["npm:3.9.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ci-info-npm-3.9.0-646784ca0e-10.zip/node_modules/ci-info/",\ + "packageDependencies": [\ + ["ci-info", "npm:3.9.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cjs-module-lexer", [\ + ["npm:1.4.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/cjs-module-lexer-npm-1.4.3-4a46e7bf6c-10.zip/node_modules/cjs-module-lexer/",\ + "packageDependencies": [\ + ["cjs-module-lexer", "npm:1.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cliui", [\ + ["npm:8.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/cliui-npm-8.0.1-3b029092cf-10.zip/node_modules/cliui/",\ + "packageDependencies": [\ + ["cliui", "npm:8.0.1"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["wrap-ansi", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clone-deep", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/clone-deep-npm-4.0.1-70adab92c8-10.zip/node_modules/clone-deep/",\ + "packageDependencies": [\ + ["clone-deep", "npm:4.0.1"],\ + ["is-plain-object", "npm:2.0.4"],\ + ["kind-of", "npm:6.0.3"],\ + ["shallow-clone", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["co", [\ + ["npm:4.6.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/co-npm-4.6.0-03f2d1feb6-10.zip/node_modules/co/",\ + "packageDependencies": [\ + ["co", "npm:4.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["collect-v8-coverage", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/collect-v8-coverage-npm-1.0.2-bd20d0c572-10.zip/node_modules/collect-v8-coverage/",\ + "packageDependencies": [\ + ["collect-v8-coverage", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-convert", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10.zip/node_modules/color-convert/",\ + "packageDependencies": [\ + ["color-convert", "npm:2.0.1"],\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-name", [\ + ["npm:1.1.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10.zip/node_modules/color-name/",\ + "packageDependencies": [\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["commander", [\ + ["npm:6.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/commander-npm-6.2.1-d5b635f237-10.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:6.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["commondir", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/commondir-npm-1.0.1-291b790340-10.zip/node_modules/commondir/",\ + "packageDependencies": [\ + ["commondir", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["concat-map", [\ + ["npm:0.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10.zip/node_modules/concat-map/",\ + "packageDependencies": [\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["convert-source-map", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10.zip/node_modules/convert-source-map/",\ + "packageDependencies": [\ + ["convert-source-map", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["core-js", [\ + ["npm:3.38.1", {\ + "packageLocation": "./.yarn/unplugged/core-js-npm-3.38.1-5a2a3b88ee/node_modules/core-js/",\ + "packageDependencies": [\ + ["core-js", "npm:3.38.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.40.0", {\ + "packageLocation": "./.yarn/unplugged/core-js-npm-3.40.0-312b1d0da0/node_modules/core-js/",\ + "packageDependencies": [\ + ["core-js", "npm:3.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["core-js-compat", [\ + ["npm:3.40.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/core-js-compat-npm-3.40.0-4943db3368-10.zip/node_modules/core-js-compat/",\ + "packageDependencies": [\ + ["core-js-compat", "npm:3.40.0"],\ + ["browserslist", "npm:4.24.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["create-jest", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/create-jest-npm-29.7.0-3a6a7b993b-10.zip/node_modules/create-jest/",\ + "packageDependencies": [\ + ["create-jest", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["chalk", "npm:4.1.2"],\ + ["exit", "npm:0.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-config", "virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["prompts", "npm:2.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cross-spawn", [\ + ["npm:7.0.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/cross-spawn-npm-7.0.6-264bddf921-10.zip/node_modules/cross-spawn/",\ + "packageDependencies": [\ + ["cross-spawn", "npm:7.0.6"],\ + ["path-key", "npm:3.1.1"],\ + ["shebang-command", "npm:2.0.0"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["data-view-buffer", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/data-view-buffer-npm-1.0.2-93c9247e37-10.zip/node_modules/data-view-buffer/",\ + "packageDependencies": [\ + ["data-view-buffer", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.3"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-data-view", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["data-view-byte-length", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/data-view-byte-length-npm-1.0.2-96d312fb9c-10.zip/node_modules/data-view-byte-length/",\ + "packageDependencies": [\ + ["data-view-byte-length", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.3"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-data-view", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["data-view-byte-offset", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/data-view-byte-offset-npm-1.0.1-315a12a556-10.zip/node_modules/data-view-byte-offset/",\ + "packageDependencies": [\ + ["data-view-byte-offset", "npm:1.0.1"],\ + ["call-bound", "npm:1.0.3"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-data-view", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["debug", [\ + ["npm:4.4.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/debug-npm-4.4.0-f6efe76023-10.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:4.4.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-82be10d455/6/.yarn/berry/cache/debug-npm-4.4.0-f6efe76023-10.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.1.3"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dedent", [\ + ["npm:1.5.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/dedent-npm-1.5.3-123726df15-10.zip/node_modules/dedent/",\ + "packageDependencies": [\ + ["dedent", "npm:1.5.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f7679858c638e2e5ade31901dd2b1e5007918fdc7d84fefb11f4200f46ba2e43b9d662fb793507b517bb1e725144e51f6d68f60f9f6100fd52144f042f58f0bc#npm:1.5.3", {\ + "packageLocation": "./.yarn/__virtual__/dedent-virtual-5106190c75/6/.yarn/berry/cache/dedent-npm-1.5.3-123726df15-10.zip/node_modules/dedent/",\ + "packageDependencies": [\ + ["dedent", "virtual:f7679858c638e2e5ade31901dd2b1e5007918fdc7d84fefb11f4200f46ba2e43b9d662fb793507b517bb1e725144e51f6d68f60f9f6100fd52144f042f58f0bc#npm:1.5.3"],\ + ["@types/babel-plugin-macros", null],\ + ["babel-plugin-macros", null]\ + ],\ + "packagePeers": [\ + "@types/babel-plugin-macros",\ + "babel-plugin-macros"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deep-is", [\ + ["npm:0.1.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10.zip/node_modules/deep-is/",\ + "packageDependencies": [\ + ["deep-is", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deepmerge", [\ + ["npm:4.3.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/deepmerge-npm-4.3.1-4f751a0844-10.zip/node_modules/deepmerge/",\ + "packageDependencies": [\ + ["deepmerge", "npm:4.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["define-data-property", [\ + ["npm:1.1.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/define-data-property-npm-1.1.4-4cbd8efc51-10.zip/node_modules/define-data-property/",\ + "packageDependencies": [\ + ["define-data-property", "npm:1.1.4"],\ + ["es-define-property", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["gopd", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["define-properties", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/define-properties-npm-1.2.1-8a4d42413b-10.zip/node_modules/define-properties/",\ + "packageDependencies": [\ + ["define-properties", "npm:1.2.1"],\ + ["define-data-property", "npm:1.1.4"],\ + ["has-property-descriptors", "npm:1.0.2"],\ + ["object-keys", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["detect-newline", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/detect-newline-npm-3.1.0-6d33fa8d37-10.zip/node_modules/detect-newline/",\ + "packageDependencies": [\ + ["detect-newline", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["diff-sequences", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10.zip/node_modules/diff-sequences/",\ + "packageDependencies": [\ + ["diff-sequences", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dunder-proto", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/dunder-proto-npm-1.0.1-90eb6829db-10.zip/node_modules/dunder-proto/",\ + "packageDependencies": [\ + ["dunder-proto", "npm:1.0.1"],\ + ["call-bind-apply-helpers", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["gopd", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eastasianwidth", [\ + ["npm:0.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10.zip/node_modules/eastasianwidth/",\ + "packageDependencies": [\ + ["eastasianwidth", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["electron-to-chromium", [\ + ["npm:1.5.90", {\ + "packageLocation": "../../../../../.yarn/berry/cache/electron-to-chromium-npm-1.5.90-074751336b-10.zip/node_modules/electron-to-chromium/",\ + "packageDependencies": [\ + ["electron-to-chromium", "npm:1.5.90"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emittery", [\ + ["npm:0.13.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10.zip/node_modules/emittery/",\ + "packageDependencies": [\ + ["emittery", "npm:0.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emoji-regex", [\ + ["npm:8.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:8.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.2.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:9.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["encoding", [\ + ["npm:0.1.13", {\ + "packageLocation": "../../../../../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10.zip/node_modules/encoding/",\ + "packageDependencies": [\ + ["encoding", "npm:0.1.13"],\ + ["iconv-lite", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["env-paths", [\ + ["npm:2.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10.zip/node_modules/env-paths/",\ + "packageDependencies": [\ + ["env-paths", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["err-code", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10.zip/node_modules/err-code/",\ + "packageDependencies": [\ + ["err-code", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["error-ex", [\ + ["npm:1.3.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/error-ex-npm-1.3.2-5654f80c0f-10.zip/node_modules/error-ex/",\ + "packageDependencies": [\ + ["error-ex", "npm:1.3.2"],\ + ["is-arrayish", "npm:0.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-abstract", [\ + ["npm:1.23.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/es-abstract-npm-1.23.9-65d488dcce-10.zip/node_modules/es-abstract/",\ + "packageDependencies": [\ + ["es-abstract", "npm:1.23.9"],\ + ["array-buffer-byte-length", "npm:1.0.2"],\ + ["arraybuffer.prototype.slice", "npm:1.0.4"],\ + ["available-typed-arrays", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.3"],\ + ["data-view-buffer", "npm:1.0.2"],\ + ["data-view-byte-length", "npm:1.0.2"],\ + ["data-view-byte-offset", "npm:1.0.1"],\ + ["es-define-property", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["es-set-tostringtag", "npm:2.1.0"],\ + ["es-to-primitive", "npm:1.3.0"],\ + ["function.prototype.name", "npm:1.1.8"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["get-proto", "npm:1.0.1"],\ + ["get-symbol-description", "npm:1.1.0"],\ + ["globalthis", "npm:1.0.4"],\ + ["gopd", "npm:1.2.0"],\ + ["has-property-descriptors", "npm:1.0.2"],\ + ["has-proto", "npm:1.2.0"],\ + ["has-symbols", "npm:1.1.0"],\ + ["hasown", "npm:2.0.2"],\ + ["internal-slot", "npm:1.1.0"],\ + ["is-array-buffer", "npm:3.0.5"],\ + ["is-callable", "npm:1.2.7"],\ + ["is-data-view", "npm:1.0.2"],\ + ["is-regex", "npm:1.2.1"],\ + ["is-shared-array-buffer", "npm:1.0.4"],\ + ["is-string", "npm:1.1.1"],\ + ["is-typed-array", "npm:1.1.15"],\ + ["is-weakref", "npm:1.1.0"],\ + ["math-intrinsics", "npm:1.1.0"],\ + ["object-inspect", "npm:1.13.3"],\ + ["object-keys", "npm:1.1.1"],\ + ["object.assign", "npm:4.1.7"],\ + ["own-keys", "npm:1.0.1"],\ + ["regexp.prototype.flags", "npm:1.5.4"],\ + ["safe-array-concat", "npm:1.1.3"],\ + ["safe-push-apply", "npm:1.0.0"],\ + ["safe-regex-test", "npm:1.1.0"],\ + ["set-proto", "npm:1.0.0"],\ + ["string.prototype.trim", "npm:1.2.10"],\ + ["string.prototype.trimend", "npm:1.0.9"],\ + ["string.prototype.trimstart", "npm:1.0.8"],\ + ["typed-array-buffer", "npm:1.0.3"],\ + ["typed-array-byte-length", "npm:1.0.3"],\ + ["typed-array-byte-offset", "npm:1.0.4"],\ + ["typed-array-length", "npm:1.0.7"],\ + ["unbox-primitive", "npm:1.1.0"],\ + ["which-typed-array", "npm:1.1.18"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-array-method-boxes-properly", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/es-array-method-boxes-properly-npm-1.0.0-d4bc728109-10.zip/node_modules/es-array-method-boxes-properly/",\ + "packageDependencies": [\ + ["es-array-method-boxes-properly", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-define-property", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/es-define-property-npm-1.0.1-3fc6324f1c-10.zip/node_modules/es-define-property/",\ + "packageDependencies": [\ + ["es-define-property", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-errors", [\ + ["npm:1.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/es-errors-npm-1.3.0-fda0c9b8a8-10.zip/node_modules/es-errors/",\ + "packageDependencies": [\ + ["es-errors", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-object-atoms", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/es-object-atoms-npm-1.1.1-362d8043c2-10.zip/node_modules/es-object-atoms/",\ + "packageDependencies": [\ + ["es-object-atoms", "npm:1.1.1"],\ + ["es-errors", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-set-tostringtag", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/es-set-tostringtag-npm-2.1.0-4e55705d3f-10.zip/node_modules/es-set-tostringtag/",\ + "packageDependencies": [\ + ["es-set-tostringtag", "npm:2.1.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["hasown", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-to-primitive", [\ + ["npm:1.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/es-to-primitive-npm-1.3.0-470b6d51b6-10.zip/node_modules/es-to-primitive/",\ + "packageDependencies": [\ + ["es-to-primitive", "npm:1.3.0"],\ + ["is-callable", "npm:1.2.7"],\ + ["is-date-object", "npm:1.1.0"],\ + ["is-symbol", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escalade", [\ + ["npm:3.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/escalade-npm-3.2.0-19b50dd48f-10.zip/node_modules/escalade/",\ + "packageDependencies": [\ + ["escalade", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escape-string-regexp", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint", [\ + ["npm:9.19.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/eslint-npm-9.19.0-e70f56e959-10.zip/node_modules/eslint/",\ + "packageDependencies": [\ + ["eslint", "npm:9.19.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-virtual-99cafbb662/6/.yarn/berry/cache/eslint-npm-9.19.0-e70f56e959-10.zip/node_modules/eslint/",\ + "packageDependencies": [\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["@eslint-community/eslint-utils", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1"],\ + ["@eslint-community/regexpp", "npm:4.12.1"],\ + ["@eslint/config-array", "npm:0.19.2"],\ + ["@eslint/core", "npm:0.10.0"],\ + ["@eslint/eslintrc", "npm:3.2.0"],\ + ["@eslint/js", "npm:9.19.0"],\ + ["@eslint/plugin-kit", "npm:0.2.5"],\ + ["@humanfs/node", "npm:0.16.6"],\ + ["@humanwhocodes/module-importer", "npm:1.0.1"],\ + ["@humanwhocodes/retry", "npm:0.4.1"],\ + ["@types/estree", "npm:1.0.6"],\ + ["@types/jiti", null],\ + ["@types/json-schema", "npm:7.0.15"],\ + ["ajv", "npm:6.12.6"],\ + ["chalk", "npm:4.1.2"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["escape-string-regexp", "npm:4.0.0"],\ + ["eslint-scope", "npm:8.2.0"],\ + ["eslint-visitor-keys", "npm:4.2.0"],\ + ["espree", "npm:10.3.0"],\ + ["esquery", "npm:1.6.0"],\ + ["esutils", "npm:2.0.3"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["file-entry-cache", "npm:8.0.0"],\ + ["find-up", "npm:5.0.0"],\ + ["glob-parent", "npm:6.0.2"],\ + ["ignore", "npm:5.3.2"],\ + ["imurmurhash", "npm:0.1.4"],\ + ["is-glob", "npm:4.0.3"],\ + ["jiti", null],\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\ + ["lodash.merge", "npm:4.6.2"],\ + ["minimatch", "npm:3.1.2"],\ + ["natural-compare", "npm:1.4.0"],\ + ["optionator", "npm:0.9.4"]\ + ],\ + "packagePeers": [\ + "@types/jiti",\ + "jiti"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-config-prettier", [\ + ["npm:9.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "npm:9.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:9.1.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-be9514a109/6/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:9.1.0"],\ + ["@types/eslint", null],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-plugin-jest", [\ + ["npm:28.11.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/eslint-plugin-jest-npm-28.11.0-a208fceab5-10.zip/node_modules/eslint-plugin-jest/",\ + "packageDependencies": [\ + ["eslint-plugin-jest", "npm:28.11.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:28.11.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-jest-virtual-89fe24ffc4/6/.yarn/berry/cache/eslint-plugin-jest-npm-28.11.0-a208fceab5-10.zip/node_modules/eslint-plugin-jest/",\ + "packageDependencies": [\ + ["eslint-plugin-jest", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:28.11.0"],\ + ["@types/eslint", null],\ + ["@types/jest", null],\ + ["@types/typescript-eslint__eslint-plugin", null],\ + ["@typescript-eslint/eslint-plugin", null],\ + ["@typescript-eslint/utils", "virtual:1b19ec744e249ebe6ea2a6cdca70496a020427e774ceba2c416875d4437aa581adb4c20262b3d46127087d3d5c26751962e16aee89940c9a82955c75070f55a7#npm:8.22.0"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["jest", null]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/jest",\ + "@types/typescript-eslint__eslint-plugin",\ + "@typescript-eslint/eslint-plugin",\ + "eslint",\ + "jest"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-scope", [\ + ["npm:8.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/eslint-scope-npm-8.2.0-d74e314c9e-10.zip/node_modules/eslint-scope/",\ + "packageDependencies": [\ + ["eslint-scope", "npm:8.2.0"],\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-visitor-keys", [\ + ["npm:3.4.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10.zip/node_modules/eslint-visitor-keys/",\ + "packageDependencies": [\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/eslint-visitor-keys-npm-4.2.0-a591434af3-10.zip/node_modules/eslint-visitor-keys/",\ + "packageDependencies": [\ + ["eslint-visitor-keys", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["espree", [\ + ["npm:10.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/espree-npm-10.3.0-e5b10052f5-10.zip/node_modules/espree/",\ + "packageDependencies": [\ + ["espree", "npm:10.3.0"],\ + ["acorn", "npm:8.14.0"],\ + ["acorn-jsx", "virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2"],\ + ["eslint-visitor-keys", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esprima", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/esprima-npm-4.0.1-1084e98778-10.zip/node_modules/esprima/",\ + "packageDependencies": [\ + ["esprima", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esquery", [\ + ["npm:1.6.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/esquery-npm-1.6.0-16fee31531-10.zip/node_modules/esquery/",\ + "packageDependencies": [\ + ["esquery", "npm:1.6.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esrecurse", [\ + ["npm:4.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10.zip/node_modules/esrecurse/",\ + "packageDependencies": [\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["estraverse", [\ + ["npm:5.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10.zip/node_modules/estraverse/",\ + "packageDependencies": [\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esutils", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10.zip/node_modules/esutils/",\ + "packageDependencies": [\ + ["esutils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["execa", [\ + ["npm:5.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/execa-npm-5.1.1-191347acf5-10.zip/node_modules/execa/",\ + "packageDependencies": [\ + ["execa", "npm:5.1.1"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["get-stream", "npm:6.0.1"],\ + ["human-signals", "npm:2.1.0"],\ + ["is-stream", "npm:2.0.1"],\ + ["merge-stream", "npm:2.0.0"],\ + ["npm-run-path", "npm:4.0.1"],\ + ["onetime", "npm:5.1.2"],\ + ["signal-exit", "npm:3.0.7"],\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["exit", [\ + ["npm:0.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/exit-npm-0.1.2-ef3761a67d-10.zip/node_modules/exit/",\ + "packageDependencies": [\ + ["exit", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["expect", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/expect-npm-29.7.0-62e9f7979e-10.zip/node_modules/expect/",\ + "packageDependencies": [\ + ["expect", "npm:29.7.0"],\ + ["@jest/expect-utils", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-matcher-utils", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["exponential-backoff", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/exponential-backoff-npm-3.1.1-04df458b30-10.zip/node_modules/exponential-backoff/",\ + "packageDependencies": [\ + ["exponential-backoff", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-deep-equal", [\ + ["npm:3.1.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10.zip/node_modules/fast-deep-equal/",\ + "packageDependencies": [\ + ["fast-deep-equal", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-glob", [\ + ["npm:3.3.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/fast-glob-npm-3.3.3-2a653be532-10.zip/node_modules/fast-glob/",\ + "packageDependencies": [\ + ["fast-glob", "npm:3.3.3"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["glob-parent", "npm:5.1.2"],\ + ["merge2", "npm:1.4.1"],\ + ["micromatch", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-json-stable-stringify", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10.zip/node_modules/fast-json-stable-stringify/",\ + "packageDependencies": [\ + ["fast-json-stable-stringify", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-levenshtein", [\ + ["npm:2.0.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10.zip/node_modules/fast-levenshtein/",\ + "packageDependencies": [\ + ["fast-levenshtein", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fastq", [\ + ["npm:1.19.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/fastq-npm-1.19.0-5e2713df98-10.zip/node_modules/fastq/",\ + "packageDependencies": [\ + ["fastq", "npm:1.19.0"],\ + ["reusify", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fb-watchman", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/fb-watchman-npm-2.0.2-bcb6f8f831-10.zip/node_modules/fb-watchman/",\ + "packageDependencies": [\ + ["fb-watchman", "npm:2.0.2"],\ + ["bser", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["file-entry-cache", [\ + ["npm:8.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/file-entry-cache-npm-8.0.0-5b09d19a83-10.zip/node_modules/file-entry-cache/",\ + "packageDependencies": [\ + ["file-entry-cache", "npm:8.0.0"],\ + ["flat-cache", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fill-range", [\ + ["npm:7.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/fill-range-npm-7.1.1-bf491486db-10.zip/node_modules/fill-range/",\ + "packageDependencies": [\ + ["fill-range", "npm:7.1.1"],\ + ["to-regex-range", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-cache-dir", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/find-cache-dir-npm-2.1.0-772aa82638-10.zip/node_modules/find-cache-dir/",\ + "packageDependencies": [\ + ["find-cache-dir", "npm:2.1.0"],\ + ["commondir", "npm:1.0.1"],\ + ["make-dir", "npm:2.1.0"],\ + ["pkg-dir", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-up", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/find-up-npm-3.0.0-a2d4b1b317-10.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:3.0.0"],\ + ["locate-path", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/find-up-npm-4.1.0-c3ccf8d855-10.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:4.1.0"],\ + ["locate-path", "npm:5.0.0"],\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:5.0.0"],\ + ["locate-path", "npm:6.0.0"],\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flat-cache", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/flat-cache-npm-4.0.1-12bf2455f7-10.zip/node_modules/flat-cache/",\ + "packageDependencies": [\ + ["flat-cache", "npm:4.0.1"],\ + ["flatted", "npm:3.3.2"],\ + ["keyv", "npm:4.5.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flatted", [\ + ["npm:3.3.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/flatted-npm-3.3.2-6bf77e6e67-10.zip/node_modules/flatted/",\ + "packageDependencies": [\ + ["flatted", "npm:3.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["for-each", [\ + ["npm:0.3.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/for-each-npm-0.3.4-9925a6ce6e-10.zip/node_modules/for-each/",\ + "packageDependencies": [\ + ["for-each", "npm:0.3.4"],\ + ["is-callable", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["foreground-child", [\ + ["npm:3.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/foreground-child-npm-3.3.0-b8be745271-10.zip/node_modules/foreground-child/",\ + "packageDependencies": [\ + ["foreground-child", "npm:3.3.0"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-minipass", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:3.0.3"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs.realpath", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10.zip/node_modules/fs.realpath/",\ + "packageDependencies": [\ + ["fs.realpath", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fsevents", [\ + ["patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1", {\ + "packageLocation": "./.yarn/unplugged/fsevents-patch-6b67494872/node_modules/fsevents/",\ + "packageDependencies": [\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["node-gyp", "npm:11.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["function-bind", [\ + ["npm:1.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/function-bind-npm-1.1.2-7a55be9b03-10.zip/node_modules/function-bind/",\ + "packageDependencies": [\ + ["function-bind", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["function.prototype.name", [\ + ["npm:1.1.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/function.prototype.name-npm-1.1.8-2cf198aac8-10.zip/node_modules/function.prototype.name/",\ + "packageDependencies": [\ + ["function.prototype.name", "npm:1.1.8"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.3"],\ + ["define-properties", "npm:1.2.1"],\ + ["functions-have-names", "npm:1.2.3"],\ + ["hasown", "npm:2.0.2"],\ + ["is-callable", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["functions-have-names", [\ + ["npm:1.2.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/functions-have-names-npm-1.2.3-e5cf1e2208-10.zip/node_modules/functions-have-names/",\ + "packageDependencies": [\ + ["functions-have-names", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gensync", [\ + ["npm:1.0.0-beta.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/gensync-npm-1.0.0-beta.2-224666d72f-10.zip/node_modules/gensync/",\ + "packageDependencies": [\ + ["gensync", "npm:1.0.0-beta.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-caller-file", [\ + ["npm:2.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/get-caller-file-npm-2.0.5-80e8a86305-10.zip/node_modules/get-caller-file/",\ + "packageDependencies": [\ + ["get-caller-file", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-intrinsic", [\ + ["npm:1.2.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/get-intrinsic-npm-1.2.7-2e0e0e7564-10.zip/node_modules/get-intrinsic/",\ + "packageDependencies": [\ + ["get-intrinsic", "npm:1.2.7"],\ + ["call-bind-apply-helpers", "npm:1.0.1"],\ + ["es-define-property", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["function-bind", "npm:1.1.2"],\ + ["get-proto", "npm:1.0.1"],\ + ["gopd", "npm:1.2.0"],\ + ["has-symbols", "npm:1.1.0"],\ + ["hasown", "npm:2.0.2"],\ + ["math-intrinsics", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-package-type", [\ + ["npm:0.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/get-package-type-npm-0.1.0-6c70cdc8ab-10.zip/node_modules/get-package-type/",\ + "packageDependencies": [\ + ["get-package-type", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-proto", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/get-proto-npm-1.0.1-4d30bac614-10.zip/node_modules/get-proto/",\ + "packageDependencies": [\ + ["get-proto", "npm:1.0.1"],\ + ["dunder-proto", "npm:1.0.1"],\ + ["es-object-atoms", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-stream", [\ + ["npm:6.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/get-stream-npm-6.0.1-83e51a4642-10.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-symbol-description", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/get-symbol-description-npm-1.1.0-7a9e0b1c24-10.zip/node_modules/get-symbol-description/",\ + "packageDependencies": [\ + ["get-symbol-description", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.3"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob", [\ + ["npm:10.4.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/glob-npm-10.4.5-8c63175f05-10.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:10.4.5"],\ + ["foreground-child", "npm:3.3.0"],\ + ["jackspeak", "npm:3.4.3"],\ + ["minimatch", "npm:9.0.5"],\ + ["minipass", "npm:7.1.2"],\ + ["package-json-from-dist", "npm:1.0.1"],\ + ["path-scurry", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.2.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:7.2.3"],\ + ["fs.realpath", "npm:1.0.0"],\ + ["inflight", "npm:1.0.6"],\ + ["inherits", "npm:2.0.4"],\ + ["minimatch", "npm:3.1.2"],\ + ["once", "npm:1.4.0"],\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob-parent", [\ + ["npm:5.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:5.1.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:6.0.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globals", [\ + ["npm:11.12.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/globals-npm-11.12.0-1fa7f41a6c-10.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:11.12.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:14.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/globals-npm-14.0.0-5fc3d8d5da-10.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:14.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:15.14.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/globals-npm-15.14.0-1cb78aecb8-10.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:15.14.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globalthis", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/globalthis-npm-1.0.4-de22ac6193-10.zip/node_modules/globalthis/",\ + "packageDependencies": [\ + ["globalthis", "npm:1.0.4"],\ + ["define-properties", "npm:1.2.1"],\ + ["gopd", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gopd", [\ + ["npm:1.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/gopd-npm-1.2.0-df89ffa78e-10.zip/node_modules/gopd/",\ + "packageDependencies": [\ + ["gopd", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graceful-fs", [\ + ["npm:4.2.11", {\ + "packageLocation": "../../../../../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10.zip/node_modules/graceful-fs/",\ + "packageDependencies": [\ + ["graceful-fs", "npm:4.2.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graphemer", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10.zip/node_modules/graphemer/",\ + "packageDependencies": [\ + ["graphemer", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-bigints", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/has-bigints-npm-1.1.0-d481f8ed50-10.zip/node_modules/has-bigints/",\ + "packageDependencies": [\ + ["has-bigints", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-flag", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10.zip/node_modules/has-flag/",\ + "packageDependencies": [\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-property-descriptors", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/has-property-descriptors-npm-1.0.2-d7077d09f1-10.zip/node_modules/has-property-descriptors/",\ + "packageDependencies": [\ + ["has-property-descriptors", "npm:1.0.2"],\ + ["es-define-property", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-proto", [\ + ["npm:1.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/has-proto-npm-1.2.0-0108d177d3-10.zip/node_modules/has-proto/",\ + "packageDependencies": [\ + ["has-proto", "npm:1.2.0"],\ + ["dunder-proto", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-symbols", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/has-symbols-npm-1.1.0-9aa7dc2ac1-10.zip/node_modules/has-symbols/",\ + "packageDependencies": [\ + ["has-symbols", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-tostringtag", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/has-tostringtag-npm-1.0.2-74a4800369-10.zip/node_modules/has-tostringtag/",\ + "packageDependencies": [\ + ["has-tostringtag", "npm:1.0.2"],\ + ["has-symbols", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hasown", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/hasown-npm-2.0.2-80fe6c9901-10.zip/node_modules/hasown/",\ + "packageDependencies": [\ + ["hasown", "npm:2.0.2"],\ + ["function-bind", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["homedir-polyfill", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/homedir-polyfill-npm-1.0.3-da1a29ce00-10.zip/node_modules/homedir-polyfill/",\ + "packageDependencies": [\ + ["homedir-polyfill", "npm:1.0.3"],\ + ["parse-passwd", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["html-escaper", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10.zip/node_modules/html-escaper/",\ + "packageDependencies": [\ + ["html-escaper", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-cache-semantics", [\ + ["npm:4.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10.zip/node_modules/http-cache-semantics/",\ + "packageDependencies": [\ + ["http-cache-semantics", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-proxy-agent", [\ + ["npm:7.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-10.zip/node_modules/http-proxy-agent/",\ + "packageDependencies": [\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["agent-base", "npm:7.1.3"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["https-proxy-agent", [\ + ["npm:7.0.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/https-proxy-agent-npm-7.0.6-27a95c2690-10.zip/node_modules/https-proxy-agent/",\ + "packageDependencies": [\ + ["https-proxy-agent", "npm:7.0.6"],\ + ["agent-base", "npm:7.1.3"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["human-signals", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/human-signals-npm-2.1.0-f75815481d-10.zip/node_modules/human-signals/",\ + "packageDependencies": [\ + ["human-signals", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["iconv-lite", [\ + ["npm:0.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.6.3"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ignore", [\ + ["npm:5.3.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ignore-npm-5.3.2-346d3ba017-10.zip/node_modules/ignore/",\ + "packageDependencies": [\ + ["ignore", "npm:5.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["import-fresh", [\ + ["npm:3.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/import-fresh-npm-3.3.0-3e34265ca9-10.zip/node_modules/import-fresh/",\ + "packageDependencies": [\ + ["import-fresh", "npm:3.3.0"],\ + ["parent-module", "npm:1.0.1"],\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["import-local", [\ + ["npm:3.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/import-local-npm-3.2.0-bf54ec7842-10.zip/node_modules/import-local/",\ + "packageDependencies": [\ + ["import-local", "npm:3.2.0"],\ + ["pkg-dir", "npm:4.2.0"],\ + ["resolve-cwd", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["imurmurhash", [\ + ["npm:0.1.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10.zip/node_modules/imurmurhash/",\ + "packageDependencies": [\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inflight", [\ + ["npm:1.0.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10.zip/node_modules/inflight/",\ + "packageDependencies": [\ + ["inflight", "npm:1.0.6"],\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inherits", [\ + ["npm:2.0.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10.zip/node_modules/inherits/",\ + "packageDependencies": [\ + ["inherits", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["internal-slot", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/internal-slot-npm-1.1.0-269ac0e8be-10.zip/node_modules/internal-slot/",\ + "packageDependencies": [\ + ["internal-slot", "npm:1.1.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["hasown", "npm:2.0.2"],\ + ["side-channel", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ip-address", [\ + ["npm:9.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ip-address-npm-9.0.5-9fa024d42a-10.zip/node_modules/ip-address/",\ + "packageDependencies": [\ + ["ip-address", "npm:9.0.5"],\ + ["jsbn", "npm:1.1.0"],\ + ["sprintf-js", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-array-buffer", [\ + ["npm:3.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-array-buffer-npm-3.0.5-8f0828e156-10.zip/node_modules/is-array-buffer/",\ + "packageDependencies": [\ + ["is-array-buffer", "npm:3.0.5"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.3"],\ + ["get-intrinsic", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-arrayish", [\ + ["npm:0.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-arrayish-npm-0.2.1-23927dfb15-10.zip/node_modules/is-arrayish/",\ + "packageDependencies": [\ + ["is-arrayish", "npm:0.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-async-function", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-async-function-npm-2.1.1-547309fbf2-10.zip/node_modules/is-async-function/",\ + "packageDependencies": [\ + ["is-async-function", "npm:2.1.1"],\ + ["async-function", "npm:1.0.0"],\ + ["call-bound", "npm:1.0.3"],\ + ["get-proto", "npm:1.0.1"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["safe-regex-test", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-bigint", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-bigint-npm-1.1.0-963b4e89e1-10.zip/node_modules/is-bigint/",\ + "packageDependencies": [\ + ["is-bigint", "npm:1.1.0"],\ + ["has-bigints", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-boolean-object", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-boolean-object-npm-1.2.1-ac39eabf5e-10.zip/node_modules/is-boolean-object/",\ + "packageDependencies": [\ + ["is-boolean-object", "npm:1.2.1"],\ + ["call-bound", "npm:1.0.3"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-callable", [\ + ["npm:1.2.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-callable-npm-1.2.7-808a303e61-10.zip/node_modules/is-callable/",\ + "packageDependencies": [\ + ["is-callable", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-core-module", [\ + ["npm:2.16.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-core-module-npm-2.16.1-a54837229e-10.zip/node_modules/is-core-module/",\ + "packageDependencies": [\ + ["is-core-module", "npm:2.16.1"],\ + ["hasown", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-data-view", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-data-view-npm-1.0.2-8a9e34c5e6-10.zip/node_modules/is-data-view/",\ + "packageDependencies": [\ + ["is-data-view", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.3"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["is-typed-array", "npm:1.1.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-date-object", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-date-object-npm-1.1.0-c444eba828-10.zip/node_modules/is-date-object/",\ + "packageDependencies": [\ + ["is-date-object", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.3"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-extglob", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10.zip/node_modules/is-extglob/",\ + "packageDependencies": [\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-finalizationregistry", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-finalizationregistry-npm-1.1.1-f9cad6c9aa-10.zip/node_modules/is-finalizationregistry/",\ + "packageDependencies": [\ + ["is-finalizationregistry", "npm:1.1.1"],\ + ["call-bound", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-fullwidth-code-point", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10.zip/node_modules/is-fullwidth-code-point/",\ + "packageDependencies": [\ + ["is-fullwidth-code-point", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-generator-fn", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-generator-fn-npm-2.1.0-37895c2d2b-10.zip/node_modules/is-generator-fn/",\ + "packageDependencies": [\ + ["is-generator-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-generator-function", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-generator-function-npm-1.1.0-e96e2ba973-10.zip/node_modules/is-generator-function/",\ + "packageDependencies": [\ + ["is-generator-function", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.3"],\ + ["get-proto", "npm:1.0.1"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["safe-regex-test", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-glob", [\ + ["npm:4.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10.zip/node_modules/is-glob/",\ + "packageDependencies": [\ + ["is-glob", "npm:4.0.3"],\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-map", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-map-npm-2.0.3-9e061e76e3-10.zip/node_modules/is-map/",\ + "packageDependencies": [\ + ["is-map", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-number", [\ + ["npm:7.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10.zip/node_modules/is-number/",\ + "packageDependencies": [\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-number-object", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-number-object-npm-1.1.1-010c417fc6-10.zip/node_modules/is-number-object/",\ + "packageDependencies": [\ + ["is-number-object", "npm:1.1.1"],\ + ["call-bound", "npm:1.0.3"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-plain-object", [\ + ["npm:2.0.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-plain-object-npm-2.0.4-da3265d804-10.zip/node_modules/is-plain-object/",\ + "packageDependencies": [\ + ["is-plain-object", "npm:2.0.4"],\ + ["isobject", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-regex", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-regex-npm-1.2.1-70a484f2c8-10.zip/node_modules/is-regex/",\ + "packageDependencies": [\ + ["is-regex", "npm:1.2.1"],\ + ["call-bound", "npm:1.0.3"],\ + ["gopd", "npm:1.2.0"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["hasown", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-set", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-set-npm-2.0.3-1b72c9a855-10.zip/node_modules/is-set/",\ + "packageDependencies": [\ + ["is-set", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-shared-array-buffer", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-shared-array-buffer-npm-1.0.4-70c977585b-10.zip/node_modules/is-shared-array-buffer/",\ + "packageDependencies": [\ + ["is-shared-array-buffer", "npm:1.0.4"],\ + ["call-bound", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-stream", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-stream-npm-2.0.1-c802db55e7-10.zip/node_modules/is-stream/",\ + "packageDependencies": [\ + ["is-stream", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-string", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-string-npm-1.1.1-d2c4f9f448-10.zip/node_modules/is-string/",\ + "packageDependencies": [\ + ["is-string", "npm:1.1.1"],\ + ["call-bound", "npm:1.0.3"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-symbol", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-symbol-npm-1.1.1-f17b666ca9-10.zip/node_modules/is-symbol/",\ + "packageDependencies": [\ + ["is-symbol", "npm:1.1.1"],\ + ["call-bound", "npm:1.0.3"],\ + ["has-symbols", "npm:1.1.0"],\ + ["safe-regex-test", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-typed-array", [\ + ["npm:1.1.15", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-typed-array-npm-1.1.15-33aa18e28f-10.zip/node_modules/is-typed-array/",\ + "packageDependencies": [\ + ["is-typed-array", "npm:1.1.15"],\ + ["which-typed-array", "npm:1.1.18"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-weakmap", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-weakmap-npm-2.0.2-ced3cab2dc-10.zip/node_modules/is-weakmap/",\ + "packageDependencies": [\ + ["is-weakmap", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-weakref", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-weakref-npm-1.1.0-65d773cc3c-10.zip/node_modules/is-weakref/",\ + "packageDependencies": [\ + ["is-weakref", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-weakset", [\ + ["npm:2.0.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/is-weakset-npm-2.0.4-155b83e84b-10.zip/node_modules/is-weakset/",\ + "packageDependencies": [\ + ["is-weakset", "npm:2.0.4"],\ + ["call-bound", "npm:1.0.3"],\ + ["get-intrinsic", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isarray", [\ + ["npm:2.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/isarray-npm-2.0.5-4ba522212d-10.zip/node_modules/isarray/",\ + "packageDependencies": [\ + ["isarray", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isexe", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isobject", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/isobject-npm-3.0.1-8145901fd2-10.zip/node_modules/isobject/",\ + "packageDependencies": [\ + ["isobject", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-coverage", [\ + ["npm:3.2.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10.zip/node_modules/istanbul-lib-coverage/",\ + "packageDependencies": [\ + ["istanbul-lib-coverage", "npm:3.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-instrument", [\ + ["npm:5.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-instrument-npm-5.2.1-1b3ad719a9-10.zip/node_modules/istanbul-lib-instrument/",\ + "packageDependencies": [\ + ["istanbul-lib-instrument", "npm:5.2.1"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@istanbuljs/schema", "npm:0.1.3"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-instrument-npm-6.0.3-959dca7404-10.zip/node_modules/istanbul-lib-instrument/",\ + "packageDependencies": [\ + ["istanbul-lib-instrument", "npm:6.0.3"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@istanbuljs/schema", "npm:0.1.3"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["semver", "npm:7.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-report", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10.zip/node_modules/istanbul-lib-report/",\ + "packageDependencies": [\ + ["istanbul-lib-report", "npm:3.0.1"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["make-dir", "npm:4.0.0"],\ + ["supports-color", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-source-maps", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10.zip/node_modules/istanbul-lib-source-maps/",\ + "packageDependencies": [\ + ["istanbul-lib-source-maps", "npm:4.0.1"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-reports", [\ + ["npm:3.1.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/istanbul-reports-npm-3.1.7-356486c0f4-10.zip/node_modules/istanbul-reports/",\ + "packageDependencies": [\ + ["istanbul-reports", "npm:3.1.7"],\ + ["html-escaper", "npm:2.0.2"],\ + ["istanbul-lib-report", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jackspeak", [\ + ["npm:3.4.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jackspeak-npm-3.4.3-546bfad080-10.zip/node_modules/jackspeak/",\ + "packageDependencies": [\ + ["jackspeak", "npm:3.4.3"],\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-npm-29.7.0-d8dd095b81-10.zip/node_modules/jest/",\ + "packageDependencies": [\ + ["jest", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/jest-virtual-36b9ac28e7/6/.yarn/berry/cache/jest-npm-29.7.0-d8dd095b81-10.zip/node_modules/jest/",\ + "packageDependencies": [\ + ["jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ + ["@jest/core", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node-notifier", null],\ + ["import-local", "npm:3.2.0"],\ + ["jest-cli", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ + ["node-notifier", null]\ + ],\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-changed-files", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-changed-files-npm-29.7.0-c2dcd10525-10.zip/node_modules/jest-changed-files/",\ + "packageDependencies": [\ + ["jest-changed-files", "npm:29.7.0"],\ + ["execa", "npm:5.1.1"],\ + ["jest-util", "npm:29.7.0"],\ + ["p-limit", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-circus", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-circus-npm-29.7.0-f7679858c6-10.zip/node_modules/jest-circus/",\ + "packageDependencies": [\ + ["jest-circus", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/expect", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["chalk", "npm:4.1.2"],\ + ["co", "npm:4.6.0"],\ + ["dedent", "virtual:f7679858c638e2e5ade31901dd2b1e5007918fdc7d84fefb11f4200f46ba2e43b9d662fb793507b517bb1e725144e51f6d68f60f9f6100fd52144f042f58f0bc#npm:1.5.3"],\ + ["is-generator-fn", "npm:2.1.0"],\ + ["jest-each", "npm:29.7.0"],\ + ["jest-matcher-utils", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-runtime", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["p-limit", "npm:3.1.0"],\ + ["pretty-format", "npm:29.7.0"],\ + ["pure-rand", "npm:6.1.0"],\ + ["slash", "npm:3.0.0"],\ + ["stack-utils", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-cli", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-cli-npm-29.7.0-9adb356180-10.zip/node_modules/jest-cli/",\ + "packageDependencies": [\ + ["jest-cli", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/jest-cli-virtual-f589f5e74d/6/.yarn/berry/cache/jest-cli-npm-29.7.0-9adb356180-10.zip/node_modules/jest-cli/",\ + "packageDependencies": [\ + ["jest-cli", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ + ["@jest/core", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node-notifier", null],\ + ["chalk", "npm:4.1.2"],\ + ["create-jest", "npm:29.7.0"],\ + ["exit", "npm:0.1.2"],\ + ["import-local", "npm:3.2.0"],\ + ["jest-config", "virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["node-notifier", null],\ + ["yargs", "npm:17.7.2"]\ + ],\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-config", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-config-npm-29.7.0-97d8544d74-10.zip/node_modules/jest-config/",\ + "packageDependencies": [\ + ["jest-config", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/jest-config-virtual-50f60b8422/6/.yarn/berry/cache/jest-config-npm-29.7.0-97d8544d74-10.zip/node_modules/jest-config/",\ + "packageDependencies": [\ + ["jest-config", "virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@jest/test-sequencer", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", null],\ + ["@types/ts-node", null],\ + ["babel-jest", "virtual:084d56f2e02accc93077937a3791d450ffcf1772776998237a61731f47b51e7cd5bcd94d9dc3171351c5d5b9a521ad7d47a3208c06054ea4dcf216d5f27c66d9#npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.9.0"],\ + ["deepmerge", "npm:4.3.1"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-circus", "npm:29.7.0"],\ + ["jest-environment-node", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-runner", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["parse-json", "npm:5.2.0"],\ + ["pretty-format", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["strip-json-comments", "npm:3.1.1"],\ + ["ts-node", null]\ + ],\ + "packagePeers": [\ + "@types/node",\ + "@types/ts-node",\ + "ts-node"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/jest-config-virtual-084d56f2e0/6/.yarn/berry/cache/jest-config-npm-29.7.0-97d8544d74-10.zip/node_modules/jest-config/",\ + "packageDependencies": [\ + ["jest-config", "virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@jest/test-sequencer", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["@types/ts-node", null],\ + ["babel-jest", "virtual:084d56f2e02accc93077937a3791d450ffcf1772776998237a61731f47b51e7cd5bcd94d9dc3171351c5d5b9a521ad7d47a3208c06054ea4dcf216d5f27c66d9#npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.9.0"],\ + ["deepmerge", "npm:4.3.1"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-circus", "npm:29.7.0"],\ + ["jest-environment-node", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-runner", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["parse-json", "npm:5.2.0"],\ + ["pretty-format", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["strip-json-comments", "npm:3.1.1"],\ + ["ts-node", null]\ + ],\ + "packagePeers": [\ + "@types/node",\ + "@types/ts-node",\ + "ts-node"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-diff", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-diff-npm-29.7.0-0149e01930-10.zip/node_modules/jest-diff/",\ + "packageDependencies": [\ + ["jest-diff", "npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["diff-sequences", "npm:29.6.3"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-docblock", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-docblock-npm-29.7.0-ec59f449dd-10.zip/node_modules/jest-docblock/",\ + "packageDependencies": [\ + ["jest-docblock", "npm:29.7.0"],\ + ["detect-newline", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-each", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-each-npm-29.7.0-93476f5ba0-10.zip/node_modules/jest-each/",\ + "packageDependencies": [\ + ["jest-each", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["chalk", "npm:4.1.2"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-util", "npm:29.7.0"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-environment-node", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-environment-node-npm-29.7.0-860b5e25ec-10.zip/node_modules/jest-environment-node/",\ + "packageDependencies": [\ + ["jest-environment-node", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["jest-mock", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-get-type", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-get-type-npm-29.6.3-500477292e-10.zip/node_modules/jest-get-type/",\ + "packageDependencies": [\ + ["jest-get-type", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-haste-map", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-haste-map-npm-29.7.0-e3be419eff-10.zip/node_modules/jest-haste-map/",\ + "packageDependencies": [\ + ["jest-haste-map", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/graceful-fs", "npm:4.1.9"],\ + ["@types/node", "npm:22.13.0"],\ + ["anymatch", "npm:3.1.3"],\ + ["fb-watchman", "npm:2.0.2"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-worker", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["walker", "npm:1.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-leak-detector", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-leak-detector-npm-29.7.0-915d82553f-10.zip/node_modules/jest-leak-detector/",\ + "packageDependencies": [\ + ["jest-leak-detector", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-matcher-utils", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-matcher-utils-npm-29.7.0-dfc74b630e-10.zip/node_modules/jest-matcher-utils/",\ + "packageDependencies": [\ + ["jest-matcher-utils", "npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["jest-diff", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-message-util", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-message-util-npm-29.7.0-7f88b6e8d1-10.zip/node_modules/jest-message-util/",\ + "packageDependencies": [\ + ["jest-message-util", "npm:29.7.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/stack-utils", "npm:2.0.3"],\ + ["chalk", "npm:4.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["micromatch", "npm:4.0.8"],\ + ["pretty-format", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["stack-utils", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-mock", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-mock-npm-29.7.0-22c4769d06-10.zip/node_modules/jest-mock/",\ + "packageDependencies": [\ + ["jest-mock", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["jest-util", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-pnp-resolver", [\ + ["npm:1.2.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-pnp-resolver-npm-1.2.3-70e06bf27c-10.zip/node_modules/jest-pnp-resolver/",\ + "packageDependencies": [\ + ["jest-pnp-resolver", "npm:1.2.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:5c36f0eefbce78ee308fab92b5dcd29e2b0b70713b50365f0168be5bb1facc6582106f851a083d72bbb13e26d984e8612da5ed4b2bae83649e73e7b1ce19525b#npm:1.2.3", {\ + "packageLocation": "./.yarn/__virtual__/jest-pnp-resolver-virtual-4a109cd39c/6/.yarn/berry/cache/jest-pnp-resolver-npm-1.2.3-70e06bf27c-10.zip/node_modules/jest-pnp-resolver/",\ + "packageDependencies": [\ + ["jest-pnp-resolver", "virtual:5c36f0eefbce78ee308fab92b5dcd29e2b0b70713b50365f0168be5bb1facc6582106f851a083d72bbb13e26d984e8612da5ed4b2bae83649e73e7b1ce19525b#npm:1.2.3"],\ + ["@types/jest-resolve", null],\ + ["jest-resolve", "npm:29.7.0"]\ + ],\ + "packagePeers": [\ + "@types/jest-resolve",\ + "jest-resolve"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-regex-util", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-regex-util-npm-29.6.3-568e0094e2-10.zip/node_modules/jest-regex-util/",\ + "packageDependencies": [\ + ["jest-regex-util", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-resolve", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-resolve-npm-29.7.0-5c36f0eefb-10.zip/node_modules/jest-resolve/",\ + "packageDependencies": [\ + ["jest-resolve", "npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-pnp-resolver", "virtual:5c36f0eefbce78ee308fab92b5dcd29e2b0b70713b50365f0168be5bb1facc6582106f851a083d72bbb13e26d984e8612da5ed4b2bae83649e73e7b1ce19525b#npm:1.2.3"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["resolve", "patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"],\ + ["resolve.exports", "npm:2.0.3"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-resolve-dependencies", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-resolve-dependencies-npm-29.7.0-06ec582f1e-10.zip/node_modules/jest-resolve-dependencies/",\ + "packageDependencies": [\ + ["jest-resolve-dependencies", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-snapshot", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-runner", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-runner-npm-29.7.0-3bc9f82b58-10.zip/node_modules/jest-runner/",\ + "packageDependencies": [\ + ["jest-runner", "npm:29.7.0"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["chalk", "npm:4.1.2"],\ + ["emittery", "npm:0.13.1"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-docblock", "npm:29.7.0"],\ + ["jest-environment-node", "npm:29.7.0"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-leak-detector", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-runtime", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-watcher", "npm:29.7.0"],\ + ["jest-worker", "npm:29.7.0"],\ + ["p-limit", "npm:3.1.0"],\ + ["source-map-support", "npm:0.5.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-runtime", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-runtime-npm-29.7.0-120fa64128-10.zip/node_modules/jest-runtime/",\ + "packageDependencies": [\ + ["jest-runtime", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/globals", "npm:29.7.0"],\ + ["@jest/source-map", "npm:29.6.3"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["chalk", "npm:4.1.2"],\ + ["cjs-module-lexer", "npm:1.4.3"],\ + ["collect-v8-coverage", "npm:1.0.2"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-mock", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["strip-bom", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-snapshot", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-snapshot-npm-29.7.0-15ef0a4ad6-10.zip/node_modules/jest-snapshot/",\ + "packageDependencies": [\ + ["jest-snapshot", "npm:29.7.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/generator", "npm:7.26.5"],\ + ["@babel/plugin-syntax-jsx", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.25.9"],\ + ["@babel/plugin-syntax-typescript", "virtual:d391f3127bb3776a0d98f197f9da76204acb6865dc272a9880ffdb86ff33723ba790095479b0edef6d565f1c286e4accaa75aeb28f32e663b67a8f8a37705176#npm:7.25.9"],\ + ["@babel/types", "npm:7.26.7"],\ + ["@jest/expect-utils", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["babel-preset-current-node-syntax", "virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:1.1.0"],\ + ["chalk", "npm:4.1.2"],\ + ["expect", "npm:29.7.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-diff", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-matcher-utils", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["natural-compare", "npm:1.4.0"],\ + ["pretty-format", "npm:29.7.0"],\ + ["semver", "npm:7.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-util", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-util-npm-29.7.0-ff1d59714b-10.zip/node_modules/jest-util/",\ + "packageDependencies": [\ + ["jest-util", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.9.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-validate", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-validate-npm-29.7.0-795ac5ede8-10.zip/node_modules/jest-validate/",\ + "packageDependencies": [\ + ["jest-validate", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["camelcase", "npm:6.3.0"],\ + ["chalk", "npm:4.1.2"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["leven", "npm:3.1.0"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-watcher", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-watcher-npm-29.7.0-e5372f1629-10.zip/node_modules/jest-watcher/",\ + "packageDependencies": [\ + ["jest-watcher", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.13.0"],\ + ["ansi-escapes", "npm:4.3.2"],\ + ["chalk", "npm:4.1.2"],\ + ["emittery", "npm:0.13.1"],\ + ["jest-util", "npm:29.7.0"],\ + ["string-length", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-worker", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jest-worker-npm-29.7.0-4d3567fed6-10.zip/node_modules/jest-worker/",\ + "packageDependencies": [\ + ["jest-worker", "npm:29.7.0"],\ + ["@types/node", "npm:22.13.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["merge-stream", "npm:2.0.0"],\ + ["supports-color", "npm:8.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-tokens", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/js-tokens-npm-4.0.0-0ac852e9e2-10.zip/node_modules/js-tokens/",\ + "packageDependencies": [\ + ["js-tokens", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-yaml", [\ + ["npm:3.14.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/js-yaml-npm-3.14.1-b968c6095e-10.zip/node_modules/js-yaml/",\ + "packageDependencies": [\ + ["js-yaml", "npm:3.14.1"],\ + ["argparse", "npm:1.0.10"],\ + ["esprima", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10.zip/node_modules/js-yaml/",\ + "packageDependencies": [\ + ["js-yaml", "npm:4.1.0"],\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsbn", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jsbn-npm-1.1.0-1da0181838-10.zip/node_modules/jsbn/",\ + "packageDependencies": [\ + ["jsbn", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsesc", [\ + ["npm:3.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jsesc-npm-3.0.2-3b3b74ec0d-10.zip/node_modules/jsesc/",\ + "packageDependencies": [\ + ["jsesc", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/jsesc-npm-3.1.0-2f4f998cd7-10.zip/node_modules/jsesc/",\ + "packageDependencies": [\ + ["jsesc", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-buffer", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10.zip/node_modules/json-buffer/",\ + "packageDependencies": [\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-parse-even-better-errors", [\ + ["npm:2.3.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-10.zip/node_modules/json-parse-even-better-errors/",\ + "packageDependencies": [\ + ["json-parse-even-better-errors", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-schema-traverse", [\ + ["npm:0.4.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10.zip/node_modules/json-schema-traverse/",\ + "packageDependencies": [\ + ["json-schema-traverse", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-stable-stringify-without-jsonify", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10.zip/node_modules/json-stable-stringify-without-jsonify/",\ + "packageDependencies": [\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json5", [\ + ["npm:2.2.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/json5-npm-2.2.3-9962c55073-10.zip/node_modules/json5/",\ + "packageDependencies": [\ + ["json5", "npm:2.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["keyv", [\ + ["npm:4.5.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10.zip/node_modules/keyv/",\ + "packageDependencies": [\ + ["keyv", "npm:4.5.4"],\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["kind-of", [\ + ["npm:6.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/kind-of-npm-6.0.3-ab15f36220-10.zip/node_modules/kind-of/",\ + "packageDependencies": [\ + ["kind-of", "npm:6.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["kleur", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/kleur-npm-3.0.3-f6f53649a4-10.zip/node_modules/kleur/",\ + "packageDependencies": [\ + ["kleur", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["leven", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/leven-npm-3.1.0-b7697736a3-10.zip/node_modules/leven/",\ + "packageDependencies": [\ + ["leven", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["levn", [\ + ["npm:0.4.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10.zip/node_modules/levn/",\ + "packageDependencies": [\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lines-and-columns", [\ + ["npm:1.2.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-10.zip/node_modules/lines-and-columns/",\ + "packageDependencies": [\ + ["lines-and-columns", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["locate-path", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/locate-path-npm-3.0.0-991671ae9f-10.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:3.0.0"],\ + ["p-locate", "npm:3.0.0"],\ + ["path-exists", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/locate-path-npm-5.0.0-46580c43e4-10.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:5.0.0"],\ + ["p-locate", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:6.0.0"],\ + ["p-locate", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.debounce", [\ + ["npm:4.0.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/lodash.debounce-npm-4.0.8-f1d6e09799-10.zip/node_modules/lodash.debounce/",\ + "packageDependencies": [\ + ["lodash.debounce", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.merge", [\ + ["npm:4.6.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10.zip/node_modules/lodash.merge/",\ + "packageDependencies": [\ + ["lodash.merge", "npm:4.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lru-cache", [\ + ["npm:10.4.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/lru-cache-npm-10.4.3-30c10b861a-10.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:10.4.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/lru-cache-npm-5.1.1-f475882a51-10.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:5.1.1"],\ + ["yallist", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-dir", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/make-dir-npm-2.1.0-1ddaf205e7-10.zip/node_modules/make-dir/",\ + "packageDependencies": [\ + ["make-dir", "npm:2.1.0"],\ + ["pify", "npm:4.0.1"],\ + ["semver", "npm:5.7.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10.zip/node_modules/make-dir/",\ + "packageDependencies": [\ + ["make-dir", "npm:4.0.0"],\ + ["semver", "npm:7.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-fetch-happen", [\ + ["npm:14.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/make-fetch-happen-npm-14.0.3-23b30e8691-10.zip/node_modules/make-fetch-happen/",\ + "packageDependencies": [\ + ["make-fetch-happen", "npm:14.0.3"],\ + ["@npmcli/agent", "npm:3.0.0"],\ + ["cacache", "npm:19.0.1"],\ + ["http-cache-semantics", "npm:4.1.1"],\ + ["minipass", "npm:7.1.2"],\ + ["minipass-fetch", "npm:4.0.0"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["negotiator", "npm:1.0.0"],\ + ["proc-log", "npm:5.0.0"],\ + ["promise-retry", "npm:2.0.1"],\ + ["ssri", "npm:12.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["makeerror", [\ + ["npm:1.0.12", {\ + "packageLocation": "../../../../../.yarn/berry/cache/makeerror-npm-1.0.12-69abf085d7-10.zip/node_modules/makeerror/",\ + "packageDependencies": [\ + ["makeerror", "npm:1.0.12"],\ + ["tmpl", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["math-intrinsics", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/math-intrinsics-npm-1.1.0-9204d80e7d-10.zip/node_modules/math-intrinsics/",\ + "packageDependencies": [\ + ["math-intrinsics", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge-stream", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10.zip/node_modules/merge-stream/",\ + "packageDependencies": [\ + ["merge-stream", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge2", [\ + ["npm:1.4.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10.zip/node_modules/merge2/",\ + "packageDependencies": [\ + ["merge2", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["micromatch", [\ + ["npm:4.0.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/micromatch-npm-4.0.8-c9570e4aca-10.zip/node_modules/micromatch/",\ + "packageDependencies": [\ + ["micromatch", "npm:4.0.8"],\ + ["braces", "npm:3.0.3"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mimic-fn", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-10.zip/node_modules/mimic-fn/",\ + "packageDependencies": [\ + ["mimic-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimatch", [\ + ["npm:3.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:3.1.2"],\ + ["brace-expansion", "npm:1.1.11"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minimatch-npm-9.0.5-9aa93d97fa-10.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:9.0.5"],\ + ["brace-expansion", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass", [\ + ["npm:3.3.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minipass-npm-7.1.2-3a5327d36d-10.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-collect", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10.zip/node_modules/minipass-collect/",\ + "packageDependencies": [\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-fetch", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minipass-fetch-npm-4.0.0-d4e49e0194-10.zip/node_modules/minipass-fetch/",\ + "packageDependencies": [\ + ["minipass-fetch", "npm:4.0.0"],\ + ["encoding", "npm:0.1.13"],\ + ["minipass", "npm:7.1.2"],\ + ["minipass-sized", "npm:1.0.3"],\ + ["minizlib", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-flush", [\ + ["npm:1.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10.zip/node_modules/minipass-flush/",\ + "packageDependencies": [\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-pipeline", [\ + ["npm:1.2.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10.zip/node_modules/minipass-pipeline/",\ + "packageDependencies": [\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-sized", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10.zip/node_modules/minipass-sized/",\ + "packageDependencies": [\ + ["minipass-sized", "npm:1.0.3"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minizlib", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/minizlib-npm-3.0.1-4bdabd978f-10.zip/node_modules/minizlib/",\ + "packageDependencies": [\ + ["minizlib", "npm:3.0.1"],\ + ["minipass", "npm:7.1.2"],\ + ["rimraf", "npm:5.0.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mkdirp", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/mkdirp-npm-3.0.1-f94bfa769e-10.zip/node_modules/mkdirp/",\ + "packageDependencies": [\ + ["mkdirp", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ms", [\ + ["npm:2.1.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["natural-compare", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10.zip/node_modules/natural-compare/",\ + "packageDependencies": [\ + ["natural-compare", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["negotiator", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/negotiator-npm-1.0.0-47d727e27e-10.zip/node_modules/negotiator/",\ + "packageDependencies": [\ + ["negotiator", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-environment-flags", [\ + ["npm:1.0.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/node-environment-flags-npm-1.0.6-019b553a56-10.zip/node_modules/node-environment-flags/",\ + "packageDependencies": [\ + ["node-environment-flags", "npm:1.0.6"],\ + ["object.getownpropertydescriptors", "npm:2.1.8"],\ + ["semver", "npm:5.7.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-gyp", [\ + ["npm:11.0.0", {\ + "packageLocation": "./.yarn/unplugged/node-gyp-npm-11.0.0-669e34db1b/node_modules/node-gyp/",\ + "packageDependencies": [\ + ["node-gyp", "npm:11.0.0"],\ + ["env-paths", "npm:2.2.1"],\ + ["exponential-backoff", "npm:3.1.1"],\ + ["glob", "npm:10.4.5"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["make-fetch-happen", "npm:14.0.3"],\ + ["nopt", "npm:8.1.0"],\ + ["proc-log", "npm:5.0.0"],\ + ["semver", "npm:7.7.0"],\ + ["tar", "npm:7.4.3"],\ + ["which", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-int64", [\ + ["npm:0.4.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/node-int64-npm-0.4.0-0dc04ec3b2-10.zip/node_modules/node-int64/",\ + "packageDependencies": [\ + ["node-int64", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-releases", [\ + ["npm:2.0.19", {\ + "packageLocation": "../../../../../.yarn/berry/cache/node-releases-npm-2.0.19-b123ed6240-10.zip/node_modules/node-releases/",\ + "packageDependencies": [\ + ["node-releases", "npm:2.0.19"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nopt", [\ + ["npm:8.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/nopt-npm-8.1.0-5570ef63cd-10.zip/node_modules/nopt/",\ + "packageDependencies": [\ + ["nopt", "npm:8.1.0"],\ + ["abbrev", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["normalize-path", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/normalize-path-npm-3.0.0-658ba7d77f-10.zip/node_modules/normalize-path/",\ + "packageDependencies": [\ + ["normalize-path", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-run-path", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/npm-run-path-npm-4.0.1-7aebd8bab3-10.zip/node_modules/npm-run-path/",\ + "packageDependencies": [\ + ["npm-run-path", "npm:4.0.1"],\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object-inspect", [\ + ["npm:1.13.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/object-inspect-npm-1.13.3-b4e129b6d9-10.zip/node_modules/object-inspect/",\ + "packageDependencies": [\ + ["object-inspect", "npm:1.13.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object-keys", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/object-keys-npm-1.1.1-1bf2f1be93-10.zip/node_modules/object-keys/",\ + "packageDependencies": [\ + ["object-keys", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object.assign", [\ + ["npm:4.1.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/object.assign-npm-4.1.7-a3464be41b-10.zip/node_modules/object.assign/",\ + "packageDependencies": [\ + ["object.assign", "npm:4.1.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.3"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["has-symbols", "npm:1.1.0"],\ + ["object-keys", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object.getownpropertydescriptors", [\ + ["npm:2.1.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/object.getownpropertydescriptors-npm-2.1.8-f52ebbf149-10.zip/node_modules/object.getownpropertydescriptors/",\ + "packageDependencies": [\ + ["object.getownpropertydescriptors", "npm:2.1.8"],\ + ["array.prototype.reduce", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["gopd", "npm:1.2.0"],\ + ["safe-array-concat", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["once", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10.zip/node_modules/once/",\ + "packageDependencies": [\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["onetime", [\ + ["npm:5.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/onetime-npm-5.1.2-3ed148fa42-10.zip/node_modules/onetime/",\ + "packageDependencies": [\ + ["onetime", "npm:5.1.2"],\ + ["mimic-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["optionator", [\ + ["npm:0.9.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/optionator-npm-0.9.4-1f114b00e8-10.zip/node_modules/optionator/",\ + "packageDependencies": [\ + ["optionator", "npm:0.9.4"],\ + ["deep-is", "npm:0.1.4"],\ + ["fast-levenshtein", "npm:2.0.6"],\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"],\ + ["word-wrap", "npm:1.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["own-keys", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/own-keys-npm-1.0.1-1253f9b344-10.zip/node_modules/own-keys/",\ + "packageDependencies": [\ + ["own-keys", "npm:1.0.1"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["object-keys", "npm:1.1.1"],\ + ["safe-push-apply", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-limit", [\ + ["npm:2.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/p-limit-npm-2.3.0-94a0310039-10.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:2.3.0"],\ + ["p-try", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:3.1.0"],\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-locate", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/p-locate-npm-3.0.0-74de74f952-10.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:3.0.0"],\ + ["p-limit", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/p-locate-npm-4.1.0-eec6872537-10.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:4.1.0"],\ + ["p-limit", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:5.0.0"],\ + ["p-limit", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-map", [\ + ["npm:7.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/p-map-npm-7.0.3-93bbec0d8c-10.zip/node_modules/p-map/",\ + "packageDependencies": [\ + ["p-map", "npm:7.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-try", [\ + ["npm:2.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/p-try-npm-2.2.0-e0390dbaf8-10.zip/node_modules/p-try/",\ + "packageDependencies": [\ + ["p-try", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["package-json-from-dist", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/package-json-from-dist-npm-1.0.1-4631a88465-10.zip/node_modules/package-json-from-dist/",\ + "packageDependencies": [\ + ["package-json-from-dist", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parent-module", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10.zip/node_modules/parent-module/",\ + "packageDependencies": [\ + ["parent-module", "npm:1.0.1"],\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse-json", [\ + ["npm:5.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/parse-json-npm-5.2.0-00a63b1199-10.zip/node_modules/parse-json/",\ + "packageDependencies": [\ + ["parse-json", "npm:5.2.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["error-ex", "npm:1.3.2"],\ + ["json-parse-even-better-errors", "npm:2.3.1"],\ + ["lines-and-columns", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse-passwd", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/parse-passwd-npm-1.0.0-ace6effa1d-10.zip/node_modules/parse-passwd/",\ + "packageDependencies": [\ + ["parse-passwd", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-exists", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/path-exists-npm-3.0.0-e80371aa68-10.zip/node_modules/path-exists/",\ + "packageDependencies": [\ + ["path-exists", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10.zip/node_modules/path-exists/",\ + "packageDependencies": [\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-is-absolute", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10.zip/node_modules/path-is-absolute/",\ + "packageDependencies": [\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-key", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10.zip/node_modules/path-key/",\ + "packageDependencies": [\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-parse", [\ + ["npm:1.0.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/path-parse-npm-1.0.7-09564527b7-10.zip/node_modules/path-parse/",\ + "packageDependencies": [\ + ["path-parse", "npm:1.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-scurry", [\ + ["npm:1.11.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/path-scurry-npm-1.11.1-aaf8c339af-10.zip/node_modules/path-scurry/",\ + "packageDependencies": [\ + ["path-scurry", "npm:1.11.1"],\ + ["lru-cache", "npm:10.4.3"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picocolors", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/picocolors-npm-1.1.1-4fede47cf1-10.zip/node_modules/picocolors/",\ + "packageDependencies": [\ + ["picocolors", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picomatch", [\ + ["npm:2.3.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10.zip/node_modules/picomatch/",\ + "packageDependencies": [\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pify", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/pify-npm-4.0.1-062756097b-10.zip/node_modules/pify/",\ + "packageDependencies": [\ + ["pify", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pirates", [\ + ["npm:4.0.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/pirates-npm-4.0.6-a8ec571a43-10.zip/node_modules/pirates/",\ + "packageDependencies": [\ + ["pirates", "npm:4.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pkg-dir", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/pkg-dir-npm-3.0.0-16d8d93783-10.zip/node_modules/pkg-dir/",\ + "packageDependencies": [\ + ["pkg-dir", "npm:3.0.0"],\ + ["find-up", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/pkg-dir-npm-4.2.0-2b5d0a8d32-10.zip/node_modules/pkg-dir/",\ + "packageDependencies": [\ + ["pkg-dir", "npm:4.2.0"],\ + ["find-up", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["possible-typed-array-names", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/possible-typed-array-names-npm-1.0.0-3a8176348a-10.zip/node_modules/possible-typed-array-names/",\ + "packageDependencies": [\ + ["possible-typed-array-names", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prelude-ls", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10.zip/node_modules/prelude-ls/",\ + "packageDependencies": [\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prettier", [\ + ["npm:3.4.2", {\ + "packageLocation": "./.yarn/unplugged/prettier-npm-3.4.2-fae349e44a/node_modules/prettier/",\ + "packageDependencies": [\ + ["prettier", "npm:3.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pretty-format", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10.zip/node_modules/pretty-format/",\ + "packageDependencies": [\ + ["pretty-format", "npm:29.7.0"],\ + ["@jest/schemas", "npm:29.6.3"],\ + ["ansi-styles", "npm:5.2.0"],\ + ["react-is", "npm:18.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proc-log", [\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/proc-log-npm-5.0.0-405173f9b4-10.zip/node_modules/proc-log/",\ + "packageDependencies": [\ + ["proc-log", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise-retry", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10.zip/node_modules/promise-retry/",\ + "packageDependencies": [\ + ["promise-retry", "npm:2.0.1"],\ + ["err-code", "npm:2.0.3"],\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prompts", [\ + ["npm:2.4.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/prompts-npm-2.4.2-f5d25d5eea-10.zip/node_modules/prompts/",\ + "packageDependencies": [\ + ["prompts", "npm:2.4.2"],\ + ["kleur", "npm:3.0.3"],\ + ["sisteransi", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["punycode", [\ + ["npm:2.3.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10.zip/node_modules/punycode/",\ + "packageDependencies": [\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pure-rand", [\ + ["npm:6.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/pure-rand-npm-6.1.0-497ea3fc37-10.zip/node_modules/pure-rand/",\ + "packageDependencies": [\ + ["pure-rand", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["queue-microtask", [\ + ["npm:1.2.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10.zip/node_modules/queue-microtask/",\ + "packageDependencies": [\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-is", [\ + ["npm:18.3.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/react-is-npm-18.3.1-370a81e1e9-10.zip/node_modules/react-is/",\ + "packageDependencies": [\ + ["react-is", "npm:18.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["reflect.getprototypeof", [\ + ["npm:1.0.10", {\ + "packageLocation": "../../../../../.yarn/berry/cache/reflect.getprototypeof-npm-1.0.10-8c3ce862a2-10.zip/node_modules/reflect.getprototypeof/",\ + "packageDependencies": [\ + ["reflect.getprototypeof", "npm:1.0.10"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["get-proto", "npm:1.0.1"],\ + ["which-builtin-type", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerate", [\ + ["npm:1.4.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/regenerate-npm-1.4.2-b296c5b63a-10.zip/node_modules/regenerate/",\ + "packageDependencies": [\ + ["regenerate", "npm:1.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerate-unicode-properties", [\ + ["npm:10.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/regenerate-unicode-properties-npm-10.2.0-3d662e6e17-10.zip/node_modules/regenerate-unicode-properties/",\ + "packageDependencies": [\ + ["regenerate-unicode-properties", "npm:10.2.0"],\ + ["regenerate", "npm:1.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerator-runtime", [\ + ["npm:0.14.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-10.zip/node_modules/regenerator-runtime/",\ + "packageDependencies": [\ + ["regenerator-runtime", "npm:0.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerator-transform", [\ + ["npm:0.15.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/regenerator-transform-npm-0.15.2-109e57a69f-10.zip/node_modules/regenerator-transform/",\ + "packageDependencies": [\ + ["regenerator-transform", "npm:0.15.2"],\ + ["@babel/runtime", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regexp.prototype.flags", [\ + ["npm:1.5.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/regexp.prototype.flags-npm-1.5.4-39008ab64c-10.zip/node_modules/regexp.prototype.flags/",\ + "packageDependencies": [\ + ["regexp.prototype.flags", "npm:1.5.4"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-proto", "npm:1.0.1"],\ + ["gopd", "npm:1.2.0"],\ + ["set-function-name", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regexpu-core", [\ + ["npm:6.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/regexpu-core-npm-6.2.0-56e98c3a61-10.zip/node_modules/regexpu-core/",\ + "packageDependencies": [\ + ["regexpu-core", "npm:6.2.0"],\ + ["regenerate", "npm:1.4.2"],\ + ["regenerate-unicode-properties", "npm:10.2.0"],\ + ["regjsgen", "npm:0.8.0"],\ + ["regjsparser", "npm:0.12.0"],\ + ["unicode-match-property-ecmascript", "npm:2.0.0"],\ + ["unicode-match-property-value-ecmascript", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regjsgen", [\ + ["npm:0.8.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/regjsgen-npm-0.8.0-146d7cf052-10.zip/node_modules/regjsgen/",\ + "packageDependencies": [\ + ["regjsgen", "npm:0.8.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regjsparser", [\ + ["npm:0.12.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/regjsparser-npm-0.12.0-9d000fca30-10.zip/node_modules/regjsparser/",\ + "packageDependencies": [\ + ["regjsparser", "npm:0.12.0"],\ + ["jsesc", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["require-directory", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/require-directory-npm-2.1.1-8608aee50b-10.zip/node_modules/require-directory/",\ + "packageDependencies": [\ + ["require-directory", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve", [\ + ["patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d", {\ + "packageLocation": "../../../../../.yarn/berry/cache/resolve-patch-b5982cfa8c-10.zip/node_modules/resolve/",\ + "packageDependencies": [\ + ["resolve", "patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"],\ + ["is-core-module", "npm:2.16.1"],\ + ["path-parse", "npm:1.0.7"],\ + ["supports-preserve-symlinks-flag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-cwd", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/resolve-cwd-npm-3.0.0-e6f4e296bf-10.zip/node_modules/resolve-cwd/",\ + "packageDependencies": [\ + ["resolve-cwd", "npm:3.0.0"],\ + ["resolve-from", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-from", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/resolve-from-npm-5.0.0-15c9db4d33-10.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve.exports", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/resolve.exports-npm-2.0.3-eb33ea72e9-10.zip/node_modules/resolve.exports/",\ + "packageDependencies": [\ + ["resolve.exports", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["retry", [\ + ["npm:0.12.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10.zip/node_modules/retry/",\ + "packageDependencies": [\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["reusify", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/reusify-npm-1.0.4-95ac4aec11-10.zip/node_modules/reusify/",\ + "packageDependencies": [\ + ["reusify", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rimraf", [\ + ["npm:5.0.10", {\ + "packageLocation": "../../../../../.yarn/berry/cache/rimraf-npm-5.0.10-d0c6647697-10.zip/node_modules/rimraf/",\ + "packageDependencies": [\ + ["rimraf", "npm:5.0.10"],\ + ["glob", "npm:10.4.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["run-parallel", [\ + ["npm:1.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10.zip/node_modules/run-parallel/",\ + "packageDependencies": [\ + ["run-parallel", "npm:1.2.0"],\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-array-concat", [\ + ["npm:1.1.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/safe-array-concat-npm-1.1.3-dab0384e54-10.zip/node_modules/safe-array-concat/",\ + "packageDependencies": [\ + ["safe-array-concat", "npm:1.1.3"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.3"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["has-symbols", "npm:1.1.0"],\ + ["isarray", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-push-apply", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/safe-push-apply-npm-1.0.0-51a0a42944-10.zip/node_modules/safe-push-apply/",\ + "packageDependencies": [\ + ["safe-push-apply", "npm:1.0.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["isarray", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-regex-test", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/safe-regex-test-npm-1.1.0-453eb81b83-10.zip/node_modules/safe-regex-test/",\ + "packageDependencies": [\ + ["safe-regex-test", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.3"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-regex", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safer-buffer", [\ + ["npm:2.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10.zip/node_modules/safer-buffer/",\ + "packageDependencies": [\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["semver", [\ + ["npm:5.7.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/semver-npm-5.7.2-938ee91eaa-10.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:5.7.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.3.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/semver-npm-6.3.1-bcba31fdbe-10.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.7.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/semver-npm-7.7.0-2100277c86-10.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:7.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-function-length", [\ + ["npm:1.2.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/set-function-length-npm-1.2.2-243073748b-10.zip/node_modules/set-function-length/",\ + "packageDependencies": [\ + ["set-function-length", "npm:1.2.2"],\ + ["define-data-property", "npm:1.1.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["function-bind", "npm:1.1.2"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["gopd", "npm:1.2.0"],\ + ["has-property-descriptors", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-function-name", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/set-function-name-npm-2.0.2-3d9a2d8899-10.zip/node_modules/set-function-name/",\ + "packageDependencies": [\ + ["set-function-name", "npm:2.0.2"],\ + ["define-data-property", "npm:1.1.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["functions-have-names", "npm:1.2.3"],\ + ["has-property-descriptors", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-proto", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/set-proto-npm-1.0.0-68d7485485-10.zip/node_modules/set-proto/",\ + "packageDependencies": [\ + ["set-proto", "npm:1.0.0"],\ + ["dunder-proto", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shallow-clone", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/shallow-clone-npm-3.0.1-dab5873d0d-10.zip/node_modules/shallow-clone/",\ + "packageDependencies": [\ + ["shallow-clone", "npm:3.0.1"],\ + ["kind-of", "npm:6.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-command", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10.zip/node_modules/shebang-command/",\ + "packageDependencies": [\ + ["shebang-command", "npm:2.0.0"],\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-regex", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10.zip/node_modules/shebang-regex/",\ + "packageDependencies": [\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/side-channel-npm-1.1.0-4993930974-10.zip/node_modules/side-channel/",\ + "packageDependencies": [\ + ["side-channel", "npm:1.1.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["object-inspect", "npm:1.13.3"],\ + ["side-channel-list", "npm:1.0.0"],\ + ["side-channel-map", "npm:1.0.1"],\ + ["side-channel-weakmap", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel-list", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/side-channel-list-npm-1.0.0-14f74146d1-10.zip/node_modules/side-channel-list/",\ + "packageDependencies": [\ + ["side-channel-list", "npm:1.0.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["object-inspect", "npm:1.13.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel-map", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/side-channel-map-npm-1.0.1-5903573b3c-10.zip/node_modules/side-channel-map/",\ + "packageDependencies": [\ + ["side-channel-map", "npm:1.0.1"],\ + ["call-bound", "npm:1.0.3"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["object-inspect", "npm:1.13.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel-weakmap", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/side-channel-weakmap-npm-1.0.2-027acaf499-10.zip/node_modules/side-channel-weakmap/",\ + "packageDependencies": [\ + ["side-channel-weakmap", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.3"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.2.7"],\ + ["object-inspect", "npm:1.13.3"],\ + ["side-channel-map", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["signal-exit", [\ + ["npm:3.0.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:3.0.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sisteransi", [\ + ["npm:1.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/sisteransi-npm-1.0.5-af60cc0cfa-10.zip/node_modules/sisteransi/",\ + "packageDependencies": [\ + ["sisteransi", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["slash", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10.zip/node_modules/slash/",\ + "packageDependencies": [\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["smart-buffer", [\ + ["npm:4.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10.zip/node_modules/smart-buffer/",\ + "packageDependencies": [\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks", [\ + ["npm:2.8.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/socks-npm-2.8.3-3532b59899-10.zip/node_modules/socks/",\ + "packageDependencies": [\ + ["socks", "npm:2.8.3"],\ + ["ip-address", "npm:9.0.5"],\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks-proxy-agent", [\ + ["npm:8.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-10.zip/node_modules/socks-proxy-agent/",\ + "packageDependencies": [\ + ["socks-proxy-agent", "npm:8.0.5"],\ + ["agent-base", "npm:7.1.3"],\ + ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ + ["socks", "npm:2.8.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map", [\ + ["npm:0.6.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10.zip/node_modules/source-map/",\ + "packageDependencies": [\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map-support", [\ + ["npm:0.5.13", {\ + "packageLocation": "../../../../../.yarn/berry/cache/source-map-support-npm-0.5.13-377dfd7321-10.zip/node_modules/source-map-support/",\ + "packageDependencies": [\ + ["source-map-support", "npm:0.5.13"],\ + ["buffer-from", "npm:1.1.2"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.5.21", {\ + "packageLocation": "../../../../../.yarn/berry/cache/source-map-support-npm-0.5.21-09ca99e250-10.zip/node_modules/source-map-support/",\ + "packageDependencies": [\ + ["source-map-support", "npm:0.5.21"],\ + ["buffer-from", "npm:1.1.2"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sprintf-js", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10.zip/node_modules/sprintf-js/",\ + "packageDependencies": [\ + ["sprintf-js", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.1.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/sprintf-js-npm-1.1.3-b99efd75b2-10.zip/node_modules/sprintf-js/",\ + "packageDependencies": [\ + ["sprintf-js", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ssri", [\ + ["npm:12.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ssri-npm-12.0.0-97c0e53d2e-10.zip/node_modules/ssri/",\ + "packageDependencies": [\ + ["ssri", "npm:12.0.0"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["stack-utils", [\ + ["npm:2.0.6", {\ + "packageLocation": "../../../../../.yarn/berry/cache/stack-utils-npm-2.0.6-2be1099696-10.zip/node_modules/stack-utils/",\ + "packageDependencies": [\ + ["stack-utils", "npm:2.0.6"],\ + ["escape-string-regexp", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string-length", [\ + ["npm:4.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/string-length-npm-4.0.2-675173c7a2-10.zip/node_modules/string-length/",\ + "packageDependencies": [\ + ["string-length", "npm:4.0.2"],\ + ["char-regex", "npm:1.0.2"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string-width", [\ + ["npm:4.2.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:4.2.3"],\ + ["emoji-regex", "npm:8.0.0"],\ + ["is-fullwidth-code-point", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:5.1.2"],\ + ["eastasianwidth", "npm:0.2.0"],\ + ["emoji-regex", "npm:9.2.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string.prototype.trim", [\ + ["npm:1.2.10", {\ + "packageLocation": "../../../../../.yarn/berry/cache/string.prototype.trim-npm-1.2.10-40a44bc719-10.zip/node_modules/string.prototype.trim/",\ + "packageDependencies": [\ + ["string.prototype.trim", "npm:1.2.10"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.3"],\ + ["define-data-property", "npm:1.1.4"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["has-property-descriptors", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string.prototype.trimend", [\ + ["npm:1.0.9", {\ + "packageLocation": "../../../../../.yarn/berry/cache/string.prototype.trimend-npm-1.0.9-e8729528fb-10.zip/node_modules/string.prototype.trimend/",\ + "packageDependencies": [\ + ["string.prototype.trimend", "npm:1.0.9"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.3"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-object-atoms", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string.prototype.trimstart", [\ + ["npm:1.0.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/string.prototype.trimstart-npm-1.0.8-8c6b16ba6e-10.zip/node_modules/string.prototype.trimstart/",\ + "packageDependencies": [\ + ["string.prototype.trimstart", "npm:1.0.8"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-object-atoms", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-ansi", [\ + ["npm:6.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:6.0.1"],\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:7.1.0"],\ + ["ansi-regex", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-bom", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/strip-bom-npm-4.0.0-97d367a64d-10.zip/node_modules/strip-bom/",\ + "packageDependencies": [\ + ["strip-bom", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-final-newline", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/strip-final-newline-npm-2.0.0-340c4f7c66-10.zip/node_modules/strip-final-newline/",\ + "packageDependencies": [\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-json-comments", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10.zip/node_modules/strip-json-comments/",\ + "packageDependencies": [\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supports-color", [\ + ["npm:7.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:7.2.0"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/supports-color-npm-8.1.1-289e937149-10.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:8.1.1"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supports-preserve-symlinks-flag", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/supports-preserve-symlinks-flag-npm-1.0.0-f17c4d0028-10.zip/node_modules/supports-preserve-symlinks-flag/",\ + "packageDependencies": [\ + ["supports-preserve-symlinks-flag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tar", [\ + ["npm:7.4.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/tar-npm-7.4.3-1dbbd1ffc3-10.zip/node_modules/tar/",\ + "packageDependencies": [\ + ["tar", "npm:7.4.3"],\ + ["@isaacs/fs-minipass", "npm:4.0.1"],\ + ["chownr", "npm:3.0.0"],\ + ["minipass", "npm:7.1.2"],\ + ["minizlib", "npm:3.0.1"],\ + ["mkdirp", "npm:3.0.1"],\ + ["yallist", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["test-exclude", [\ + ["npm:6.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10.zip/node_modules/test-exclude/",\ + "packageDependencies": [\ + ["test-exclude", "npm:6.0.0"],\ + ["@istanbuljs/schema", "npm:0.1.3"],\ + ["glob", "npm:7.2.3"],\ + ["minimatch", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tmpl", [\ + ["npm:1.0.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/tmpl-npm-1.0.5-d399ba37e2-10.zip/node_modules/tmpl/",\ + "packageDependencies": [\ + ["tmpl", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-regex-range", [\ + ["npm:5.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10.zip/node_modules/to-regex-range/",\ + "packageDependencies": [\ + ["to-regex-range", "npm:5.0.1"],\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ts-api-utils", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/ts-api-utils-npm-2.0.0-1384745dce-10.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "npm:2.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-cf40bbf903/6/.yarn/berry/cache/ts-api-utils-npm-2.0.0-1384745dce-10.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0"],\ + ["@types/typescript", null],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:b948890d16c03d415192e4901d37e9bc453f7f9f8297f171b2dbe6746ece85503a62863bd1469b5e188f375dd117e9f8c04ee4d2c17371d6ef10f590030faaa5#npm:2.0.0", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-8b661cb146/6/.yarn/berry/cache/ts-api-utils-npm-2.0.0-1384745dce-10.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:b948890d16c03d415192e4901d37e9bc453f7f9f8297f171b2dbe6746ece85503a62863bd1469b5e188f375dd117e9f8c04ee4d2c17371d6ef10f590030faaa5#npm:2.0.0"],\ + ["@types/typescript", null],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tstyche", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/tstyche-npm-2.1.1-5d85a48d5c-10.zip/node_modules/tstyche/",\ + "packageDependencies": [\ + ["tstyche", "npm:2.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:2.1.1", {\ + "packageLocation": "./.yarn/__virtual__/tstyche-virtual-dfa3d947cf/6/.yarn/berry/cache/tstyche-npm-2.1.1-5d85a48d5c-10.zip/node_modules/tstyche/",\ + "packageDependencies": [\ + ["tstyche", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:2.1.1"],\ + ["@types/typescript", null],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-check", [\ + ["npm:0.4.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10.zip/node_modules/type-check/",\ + "packageDependencies": [\ + ["type-check", "npm:0.4.0"],\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-detect", [\ + ["npm:4.0.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10.zip/node_modules/type-detect/",\ + "packageDependencies": [\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-fest", [\ + ["npm:0.21.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/type-fest-npm-0.21.3-5ff2a9c6fd-10.zip/node_modules/type-fest/",\ + "packageDependencies": [\ + ["type-fest", "npm:0.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typed-array-buffer", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/typed-array-buffer-npm-1.0.3-bddcba0c25-10.zip/node_modules/typed-array-buffer/",\ + "packageDependencies": [\ + ["typed-array-buffer", "npm:1.0.3"],\ + ["call-bound", "npm:1.0.3"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-typed-array", "npm:1.1.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typed-array-byte-length", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../../.yarn/berry/cache/typed-array-byte-length-npm-1.0.3-0769937080-10.zip/node_modules/typed-array-byte-length/",\ + "packageDependencies": [\ + ["typed-array-byte-length", "npm:1.0.3"],\ + ["call-bind", "npm:1.0.8"],\ + ["for-each", "npm:0.3.4"],\ + ["gopd", "npm:1.2.0"],\ + ["has-proto", "npm:1.2.0"],\ + ["is-typed-array", "npm:1.1.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typed-array-byte-offset", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../../.yarn/berry/cache/typed-array-byte-offset-npm-1.0.4-12f60e4553-10.zip/node_modules/typed-array-byte-offset/",\ + "packageDependencies": [\ + ["typed-array-byte-offset", "npm:1.0.4"],\ + ["available-typed-arrays", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["for-each", "npm:0.3.4"],\ + ["gopd", "npm:1.2.0"],\ + ["has-proto", "npm:1.2.0"],\ + ["is-typed-array", "npm:1.1.15"],\ + ["reflect.getprototypeof", "npm:1.0.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typed-array-length", [\ + ["npm:1.0.7", {\ + "packageLocation": "../../../../../.yarn/berry/cache/typed-array-length-npm-1.0.7-ac6ef772a7-10.zip/node_modules/typed-array-length/",\ + "packageDependencies": [\ + ["typed-array-length", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["for-each", "npm:0.3.4"],\ + ["gopd", "npm:1.2.0"],\ + ["is-typed-array", "npm:1.1.15"],\ + ["possible-typed-array-names", "npm:1.0.0"],\ + ["reflect.getprototypeof", "npm:1.0.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typescript", [\ + ["patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40", {\ + "packageLocation": "../../../../../.yarn/berry/cache/typescript-patch-8964a48ba3-10.zip/node_modules/typescript/",\ + "packageDependencies": [\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typescript-eslint", [\ + ["npm:8.22.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/typescript-eslint-npm-8.22.0-4eddceaea3-10.zip/node_modules/typescript-eslint/",\ + "packageDependencies": [\ + ["typescript-eslint", "npm:8.22.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0", {\ + "packageLocation": "./.yarn/__virtual__/typescript-eslint-virtual-6e052780ad/6/.yarn/berry/cache/typescript-eslint-npm-8.22.0-4eddceaea3-10.zip/node_modules/typescript-eslint/",\ + "packageDependencies": [\ + ["typescript-eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/eslint-plugin", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ + ["@typescript-eslint/parser", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ + ["@typescript-eslint/utils", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ + ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unbox-primitive", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/unbox-primitive-npm-1.1.0-269638c590-10.zip/node_modules/unbox-primitive/",\ + "packageDependencies": [\ + ["unbox-primitive", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.3"],\ + ["has-bigints", "npm:1.1.0"],\ + ["has-symbols", "npm:1.1.0"],\ + ["which-boxed-primitive", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["undici-types", [\ + ["npm:6.19.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/undici-types-npm-6.19.8-9f12285b7a-10.zip/node_modules/undici-types/",\ + "packageDependencies": [\ + ["undici-types", "npm:6.19.8"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.20.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/undici-types-npm-6.20.0-bd21e669af-10.zip/node_modules/undici-types/",\ + "packageDependencies": [\ + ["undici-types", "npm:6.20.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-canonical-property-names-ecmascript", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/unicode-canonical-property-names-ecmascript-npm-2.0.1-80cef17f3b-10.zip/node_modules/unicode-canonical-property-names-ecmascript/",\ + "packageDependencies": [\ + ["unicode-canonical-property-names-ecmascript", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-match-property-ecmascript", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/unicode-match-property-ecmascript-npm-2.0.0-97a00fd52c-10.zip/node_modules/unicode-match-property-ecmascript/",\ + "packageDependencies": [\ + ["unicode-match-property-ecmascript", "npm:2.0.0"],\ + ["unicode-canonical-property-names-ecmascript", "npm:2.0.1"],\ + ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-match-property-value-ecmascript", [\ + ["npm:2.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/unicode-match-property-value-ecmascript-npm-2.2.0-011b10a684-10.zip/node_modules/unicode-match-property-value-ecmascript/",\ + "packageDependencies": [\ + ["unicode-match-property-value-ecmascript", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-property-aliases-ecmascript", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/unicode-property-aliases-ecmascript-npm-2.1.0-46779595f4-10.zip/node_modules/unicode-property-aliases-ecmascript/",\ + "packageDependencies": [\ + ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-filename", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/unique-filename-npm-4.0.0-bfc100c4e3-10.zip/node_modules/unique-filename/",\ + "packageDependencies": [\ + ["unique-filename", "npm:4.0.0"],\ + ["unique-slug", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-slug", [\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/unique-slug-npm-5.0.0-11508c0469-10.zip/node_modules/unique-slug/",\ + "packageDependencies": [\ + ["unique-slug", "npm:5.0.0"],\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["update-browserslist-db", [\ + ["npm:1.1.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/update-browserslist-db-npm-1.1.2-59b122fef6-10.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "npm:1.1.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.2", {\ + "packageLocation": "./.yarn/__virtual__/update-browserslist-db-virtual-d7fc8cbe33/6/.yarn/berry/cache/update-browserslist-db-npm-1.1.2-59b122fef6-10.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.2"],\ + ["@types/browserslist", null],\ + ["browserslist", "npm:4.24.4"],\ + ["escalade", "npm:3.2.0"],\ + ["picocolors", "npm:1.1.1"]\ + ],\ + "packagePeers": [\ + "@types/browserslist",\ + "browserslist"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uri-js", [\ + ["npm:4.4.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10.zip/node_modules/uri-js/",\ + "packageDependencies": [\ + ["uri-js", "npm:4.4.1"],\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["v8-to-istanbul", [\ + ["npm:9.3.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/v8-to-istanbul-npm-9.3.0-35fef658c9-10.zip/node_modules/v8-to-istanbul/",\ + "packageDependencies": [\ + ["v8-to-istanbul", "npm:9.3.0"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ + ["convert-source-map", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["v8flags", [\ + ["npm:3.2.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/v8flags-npm-3.2.0-28770d6a95-10.zip/node_modules/v8flags/",\ + "packageDependencies": [\ + ["v8flags", "npm:3.2.0"],\ + ["homedir-polyfill", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["walker", [\ + ["npm:1.0.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/walker-npm-1.0.8-b0a05b9478-10.zip/node_modules/walker/",\ + "packageDependencies": [\ + ["walker", "npm:1.0.8"],\ + ["makeerror", "npm:1.0.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:2.0.2"],\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/which-npm-5.0.0-15aa39eb60-10.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:5.0.0"],\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which-boxed-primitive", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/which-boxed-primitive-npm-1.1.1-80ca20c912-10.zip/node_modules/which-boxed-primitive/",\ + "packageDependencies": [\ + ["which-boxed-primitive", "npm:1.1.1"],\ + ["is-bigint", "npm:1.1.0"],\ + ["is-boolean-object", "npm:1.2.1"],\ + ["is-number-object", "npm:1.1.1"],\ + ["is-string", "npm:1.1.1"],\ + ["is-symbol", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which-builtin-type", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/which-builtin-type-npm-1.2.1-bbbdf9137f-10.zip/node_modules/which-builtin-type/",\ + "packageDependencies": [\ + ["which-builtin-type", "npm:1.2.1"],\ + ["call-bound", "npm:1.0.3"],\ + ["function.prototype.name", "npm:1.1.8"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["is-async-function", "npm:2.1.1"],\ + ["is-date-object", "npm:1.1.0"],\ + ["is-finalizationregistry", "npm:1.1.1"],\ + ["is-generator-function", "npm:1.1.0"],\ + ["is-regex", "npm:1.2.1"],\ + ["is-weakref", "npm:1.1.0"],\ + ["isarray", "npm:2.0.5"],\ + ["which-boxed-primitive", "npm:1.1.1"],\ + ["which-collection", "npm:1.0.2"],\ + ["which-typed-array", "npm:1.1.18"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which-collection", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/which-collection-npm-1.0.2-0d6277e921-10.zip/node_modules/which-collection/",\ + "packageDependencies": [\ + ["which-collection", "npm:1.0.2"],\ + ["is-map", "npm:2.0.3"],\ + ["is-set", "npm:2.0.3"],\ + ["is-weakmap", "npm:2.0.2"],\ + ["is-weakset", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which-typed-array", [\ + ["npm:1.1.18", {\ + "packageLocation": "../../../../../.yarn/berry/cache/which-typed-array-npm-1.1.18-23d1112113-10.zip/node_modules/which-typed-array/",\ + "packageDependencies": [\ + ["which-typed-array", "npm:1.1.18"],\ + ["available-typed-arrays", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.3"],\ + ["for-each", "npm:0.3.4"],\ + ["gopd", "npm:1.2.0"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["word-wrap", [\ + ["npm:1.2.5", {\ + "packageLocation": "../../../../../.yarn/berry/cache/word-wrap-npm-1.2.5-42d00c4b09-10.zip/node_modules/word-wrap/",\ + "packageDependencies": [\ + ["word-wrap", "npm:1.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrap-ansi", [\ + ["npm:7.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:7.0.0"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:8.1.0"],\ + ["ansi-styles", "npm:6.2.1"],\ + ["string-width", "npm:5.1.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrappy", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10.zip/node_modules/wrappy/",\ + "packageDependencies": [\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["write-file-atomic", [\ + ["npm:4.0.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/write-file-atomic-npm-4.0.2-661baae4aa-10.zip/node_modules/write-file-atomic/",\ + "packageDependencies": [\ + ["write-file-atomic", "npm:4.0.2"],\ + ["imurmurhash", "npm:0.1.4"],\ + ["signal-exit", "npm:3.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["y18n", [\ + ["npm:5.0.8", {\ + "packageLocation": "../../../../../.yarn/berry/cache/y18n-npm-5.0.8-5f3a0a7e62-10.zip/node_modules/y18n/",\ + "packageDependencies": [\ + ["y18n", "npm:5.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yallist", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/yallist-npm-3.1.1-a568a556b4-10.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/yallist-npm-5.0.0-8732dd9f1c-10.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yargs", [\ + ["npm:17.7.2", {\ + "packageLocation": "../../../../../.yarn/berry/cache/yargs-npm-17.7.2-80b62638e1-10.zip/node_modules/yargs/",\ + "packageDependencies": [\ + ["yargs", "npm:17.7.2"],\ + ["cliui", "npm:8.0.1"],\ + ["escalade", "npm:3.2.0"],\ + ["get-caller-file", "npm:2.0.5"],\ + ["require-directory", "npm:2.1.1"],\ + ["string-width", "npm:4.2.3"],\ + ["y18n", "npm:5.0.8"],\ + ["yargs-parser", "npm:21.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yargs-parser", [\ + ["npm:21.1.1", {\ + "packageLocation": "../../../../../.yarn/berry/cache/yargs-parser-npm-21.1.1-8fdc003314-10.zip/node_modules/yargs-parser/",\ + "packageDependencies": [\ + ["yargs-parser", "npm:21.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yocto-queue", [\ + ["npm:0.1.0", {\ + "packageLocation": "../../../../../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10.zip/node_modules/yocto-queue/",\ + "packageDependencies": [\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]]\ + ]\ +}'; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +} + +const fs = require('fs'); +const path = require('path'); +const crypto = require('crypto'); +const os = require('os'); +const events = require('events'); +const nodeUtils = require('util'); +const stream = require('stream'); +const zlib = require('zlib'); +const require$$0 = require('module'); +const StringDecoder = require('string_decoder'); +const url = require('url'); +const buffer = require('buffer'); +const readline = require('readline'); +const assert = require('assert'); + +const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + const n = Object.create(null); + if (e) { + for (const k in e) { + if (k !== 'default') { + const d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: () => e[k] + }); + } + } + } + n.default = e; + return Object.freeze(n); +} + +const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); +const path__default = /*#__PURE__*/_interopDefaultLegacy(path); +const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); +const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); +const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); +const buffer__default = /*#__PURE__*/_interopDefaultLegacy(buffer); +const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); + +const S_IFMT = 61440; +const S_IFDIR = 16384; +const S_IFREG = 32768; +const S_IFLNK = 40960; +const SAFE_TIME = 456789e3; + +function makeError$1(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function EBUSY(message) { + return makeError$1(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError$1(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError$1(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError$1(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} +function ERR_DIR_CLOSED() { + return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); +} + +const DEFAULT_MODE = S_IFREG | 420; +class StatEntry { + uid = 0; + gid = 0; + size = 0; + blksize = 0; + atimeMs = 0; + mtimeMs = 0; + ctimeMs = 0; + birthtimeMs = 0; + atime = /* @__PURE__ */ new Date(0); + mtime = /* @__PURE__ */ new Date(0); + ctime = /* @__PURE__ */ new Date(0); + birthtime = /* @__PURE__ */ new Date(0); + dev = 0; + ino = 0; + mode = DEFAULT_MODE; + nlink = 1; + rdev = 0; + blocks = 1; + 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 BigIntStatsEntry { + uid = BigInt(0); + gid = BigInt(0); + size = BigInt(0); + blksize = BigInt(0); + atimeMs = BigInt(0); + mtimeMs = BigInt(0); + ctimeMs = BigInt(0); + birthtimeMs = BigInt(0); + atimeNs = BigInt(0); + mtimeNs = BigInt(0); + ctimeNs = BigInt(0); + birthtimeNs = BigInt(0); + atime = /* @__PURE__ */ new Date(0); + mtime = /* @__PURE__ */ new Date(0); + ctime = /* @__PURE__ */ new Date(0); + birthtime = /* @__PURE__ */ new Date(0); + dev = BigInt(0); + ino = BigInt(0); + mode = BigInt(DEFAULT_MODE); + nlink = BigInt(1); + rdev = BigInt(0); + blocks = BigInt(1); + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); + } +} +function makeDefaultStats() { + return new StatEntry(); +} +function clearStats(stats) { + for (const key in stats) { + if (Object.hasOwn(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + stats[key] = 0; + } else if (typeof element === `bigint`) { + stats[key] = BigInt(0); + } else if (nodeUtils__namespace.types.isDate(element)) { + stats[key] = /* @__PURE__ */ new Date(0); + } + } + } + return stats; +} +function convertToBigIntStats(stats) { + const bigintStats = new BigIntStatsEntry(); + for (const key in stats) { + if (Object.hasOwn(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + bigintStats[key] = BigInt(element); + } else if (nodeUtils__namespace.types.isDate(element)) { + 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; +} + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const Filename = { + home: `~`, + nodeModules: `node_modules`, + manifest: `package.json`, + lockfile: `yarn.lock`, + virtual: `__virtual__`, + /** + * @deprecated + */ + pnpJs: `.pnp.js`, + pnpCjs: `.pnp.cjs`, + pnpData: `.pnp.data.json`, + pnpEsmLoader: `.pnp.loader.mjs`, + rc: `.yarnrc.yml`, + env: `.env` +}; +const npath = Object.create(path__default.default); +const ppath = Object.create(path__default.default.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; +if (process.platform === `win32`) { + ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path__default.default.posix.resolve(...segments); + } else { + return path__default.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.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\/)?(.*)$/; +function fromPortablePathWin32(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, `\\`); +} +function toPortablePathWin32(p) { + p = p.replace(/\\/g, `/`); + 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; +} +const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; +const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +const defaultTimeMs = defaultTime.getTime(); +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 { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { + if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { + postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, 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); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { + const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); + const defaultMode = 420; + const sourceMode = sourceStat.mode & 511; + const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; + const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); + let AtomicBehavior; + ((AtomicBehavior2) => { + AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; + AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; + })(AtomicBehavior || (AtomicBehavior = {})); + let atomicBehavior = 1 /* Rename */; + let indexStat = await maybeLStat(destinationFs, indexPath); + if (destinationStat) { + const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; + const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; + if (isDestinationHardlinkedFromIndex) { + if (isIndexModified && linkStrategy.autoRepair) { + atomicBehavior = 0 /* Lock */; + indexStat = null; + } + } + if (!isDestinationHardlinkedFromIndex) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + } + const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; + let tempPathCleaned = false; + prelayout.push(async () => { + if (!indexStat) { + if (atomicBehavior === 0 /* Lock */) { + await destinationFs.lockPromise(indexPath, async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(indexPath, content); + }); + } + if (atomicBehavior === 1 /* Rename */ && tempPath) { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(tempPath, content); + try { + await destinationFs.linkPromise(tempPath, indexPath); + } catch (err) { + if (err.code === `EEXIST`) { + tempPathCleaned = true; + await destinationFs.unlinkPromise(tempPath); + } else { + throw err; + } + } + } + } + if (!destinationStat) { + await destinationFs.linkPromise(indexPath, destination); + } + }); + postlayout.push(async () => { + if (!indexStat) { + await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); + if (sourceMode !== defaultMode) { + await destinationFs.chmodPromise(indexPath, sourceMode); + } + } + if (tempPath && !tempPathCleaned) { + await destinationFs.unlinkPromise(tempPath); + } + }); + return false; +} +async function copyFileDirect(prelayout, postlayout, 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 () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(destination, content); + }); + return true; +} +async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (opts.linkStrategy?.type === `HardlinkFromIndex`) { + return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); + } else { + return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } +} +async function copySymlink(prelayout, postlayout, 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; +} + +class CustomDir { + constructor(path, nextDirent, opts = {}) { + this.path = path; + this.nextDirent = nextDirent; + this.opts = opts; + } + closed = false; + throwIfClosed() { + if (this.closed) { + throw ERR_DIR_CLOSED(); + } + } + async *[Symbol.asyncIterator]() { + try { + let dirent; + 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() { + this.throwIfClosed(); + this.opts.onClose?.(); + this.closed = true; + } +} +function opendir(fakeFs, path, entries, opts) { + const nextDirent = () => { + const filename = entries.shift(); + if (typeof filename === `undefined`) + return null; + const entryPath = fakeFs.pathUtils.join(path, filename); + return Object.assign(fakeFs.statSync(entryPath), { + name: filename, + path: void 0 + }); + }; + return new CustomDir(path, nextDirent, opts); +} + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends events.EventEmitter { + fakeFs; + path; + bigint; + status = "ready" /* Ready */; + changeListeners = /* @__PURE__ */ new Map(); + lastStats; + startTimeout = null; + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + constructor(fakeFs, path, { bigint = false } = {}) { + super(); + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + start() { + assertStatus(this.status, "ready" /* Ready */); + this.status = "running" /* Running */; + this.startTimeout = setTimeout(() => { + this.startTimeout = null; + if (!this.fakeFs.existsSync(this.path)) { + this.emit("change" /* Change */, this.lastStats, this.lastStats); + } + }, 3); + } + stop() { + assertStatus(this.status, "running" /* Running */); + this.status = "stopped" /* Stopped */; + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + this.emit("stop" /* Stop */); + } + stat() { + try { + return this.fakeFs.statSync(this.path, { bigint: this.bigint }); + } catch (error) { + 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("change" /* Change */, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + /** + * Registers a listener and assigns it an interval. + */ + registerChangeListener(listener, opts) { + this.addListener("change" /* Change */, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + /** + * Unregisters the listener and clears the assigned interval. + */ + unregisterChangeListener(listener) { + this.removeListener("change" /* 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; + } +} + +const statWatchersByFakeFS = /* @__PURE__ */ 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 = /* @__PURE__ */ 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); + } +} + +class FakeFS { + pathUtils; + 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 entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async checksumFilePromise(path, { algorithm = `sha512` } = {}) { + const fd = await this.openPromise(path, `r`); + try { + const CHUNK_SIZE = 65536; + const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); + const hash = crypto.createHash(algorithm); + let bytesRead = 0; + while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) + hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); + return hash.digest(`hex`); + } finally { + await this.closePromise(fd); + } + } + 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)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } 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 void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + 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; + } + } + createdDirectory ??= subPath; + 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); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + 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; + } + } + createdDirectory ??= subPath; + 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); + } + } + } + return createdDirectory; + } + 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 & 511; + 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) { + } + 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) { + } + 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) { + } + 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) { + } + 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 = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + 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 (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + 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 { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + 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, { compact = false } = {}) { + const space = compact ? 0 : 2; + return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} +`); + } + writeJsonSync(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return this.writeFileSync(p, `${JSON.stringify(data, null, space)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + await this.lutimesPromise(p, stat.atime, stat.mtime); + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + this.lutimesSync(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 os.EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +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); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + 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 lutimesPromise(p, atime, mtime) { + return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); + } + lutimesSync(p, atime, mtime) { + return this.baseFs.lutimesSync(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 rmPromise(p, opts) { + return this.baseFs.rmPromise(this.mapToBase(p), opts); + } + rmSync(p, opts) { + return this.baseFs.rmSync(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) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + readFileSync(p, encoding) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + 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); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, 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); + } + } +} + +function direntToPortable(dirent) { + const portableDirent = dirent; + if (typeof dirent.path === `string`) + portableDirent.path = npath.toPortablePath(dirent.path); + return portableDirent; +} +class NodeFS extends BasePortableFakeFS { + realFs; + constructor(realFs = fs__default.default) { + super(); + this.realFs = realFs; + } + 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) => { + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + } + 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) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + 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) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + 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 fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + 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 lutimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSync(p, atime, mtime) { + this.realFs.lutimesSync(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) => { + 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 rmPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rm(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rm(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmSync(p, opts) { + return this.realFs.rmSync(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) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + readdirSync(p, opts) { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts); + } + } 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); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, 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); + } + }; + } +} + +const MOUNT_MASK = 4278190080; +class MountFS extends BasePortableFakeFS { + baseFs; + mountInstances; + fdMap = /* @__PURE__ */ new Map(); + nextFd = 3; + factoryPromise; + factorySync; + filter; + getMountPoint; + magic; + maxAge; + maxOpenFiles; + typeCheck; + isMount = /* @__PURE__ */ new Set(); + notMount = /* @__PURE__ */ new Set(); + realPaths = /* @__PURE__ */ new Map(); + constructor({ baseFs = new NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs.constants.S_IFREG, getMountPoint, factoryPromise, factorySync }) { + if (Math.floor(magicByte) !== magicByte || !(magicByte > 1 && magicByte <= 127)) + throw new Error(`The magic byte must be set to a round value between 1 and 127 included`); + super(); + this.baseFs = baseFs; + this.mountInstances = useCache ? /* @__PURE__ */ new Map() : null; + this.factoryPromise = factoryPromise; + this.factorySync = factorySync; + this.filter = filter; + this.getMountPoint = getMountPoint; + this.magic = magicByte << 24; + this.maxAge = maxAge; + this.maxOpenFiles = maxOpenFiles; + this.typeCheck = typeCheck; + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + saveAndClose() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + } + } + } + discardAndClose() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.discardAndClose?.(); + this.mountInstances.delete(path); + } + } + } + resolve(p) { + return this.baseFs.resolve(p); + } + remapFd(mountFs, fd) { + const remappedFd = this.nextFd++ | this.magic; + this.fdMap.set(remappedFd, [mountFs, fd]); + return remappedFd; + } + async openPromise(p, flags, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.openPromise(p, flags, mode); + }, async (mountFs, { subPath }) => { + return this.remapFd(mountFs, await mountFs.openPromise(subPath, flags, mode)); + }); + } + openSync(p, flags, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.openSync(p, flags, mode); + }, (mountFs, { subPath }) => { + return this.remapFd(mountFs, mountFs.openSync(subPath, flags, mode)); + }); + } + async opendirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.opendirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.opendirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + opendirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.opendirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.opendirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readPromise(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const [mountFs, realFd] = entry; + return await mountFs.readPromise(realFd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.readSync(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`readSync`); + const [mountFs, realFd] = entry; + return mountFs.readSync(realFd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) { + 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 [mountFs, realFd] = entry; + if (typeof buffer === `string`) { + return await mountFs.writePromise(realFd, buffer, offset); + } else { + return await mountFs.writePromise(realFd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) { + 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 [mountFs, realFd] = entry; + if (typeof buffer === `string`) { + return mountFs.writeSync(realFd, buffer, offset); + } else { + return mountFs.writeSync(realFd, buffer, offset, length, position); + } + } + async closePromise(fd) { + if ((fd & MOUNT_MASK) !== this.magic) + return await this.baseFs.closePromise(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`close`); + this.fdMap.delete(fd); + const [mountFs, realFd] = entry; + return await mountFs.closePromise(realFd); + } + closeSync(fd) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.closeSync(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`closeSync`); + this.fdMap.delete(fd); + const [mountFs, realFd] = entry; + return mountFs.closeSync(realFd); + } + createReadStream(p, opts) { + if (p === null) + return this.baseFs.createReadStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createReadStream(p, opts); + }, (mountFs, { archivePath, subPath }) => { + const stream = mountFs.createReadStream(subPath, opts); + stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); + return stream; + }); + } + createWriteStream(p, opts) { + if (p === null) + return this.baseFs.createWriteStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createWriteStream(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.createWriteStream(subPath, opts); + }); + } + async realpathPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.realpathPromise(p); + }, async (mountFs, { 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 mountFs.realpathPromise(subPath))); + }); + } + realpathSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.realpathSync(p); + }, (mountFs, { 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, mountFs.realpathSync(subPath))); + }); + } + async existsPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.existsPromise(p); + }, async (mountFs, { subPath }) => { + return await mountFs.existsPromise(subPath); + }); + } + existsSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.existsSync(p); + }, (mountFs, { subPath }) => { + return mountFs.existsSync(subPath); + }); + } + async accessPromise(p, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.accessPromise(p, mode); + }, async (mountFs, { subPath }) => { + return await mountFs.accessPromise(subPath, mode); + }); + } + accessSync(p, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.accessSync(p, mode); + }, (mountFs, { subPath }) => { + return mountFs.accessSync(subPath, mode); + }); + } + async statPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.statPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.statPromise(subPath, opts); + }); + } + statSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.statSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.statSync(subPath, opts); + }); + } + async fstatPromise(fd, opts) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fstatPromise(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstat`); + const [mountFs, realFd] = entry; + return mountFs.fstatPromise(realFd, opts); + } + fstatSync(fd, opts) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fstatSync(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const [mountFs, realFd] = entry; + return mountFs.fstatSync(realFd, opts); + } + async lstatPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lstatPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.lstatPromise(subPath, opts); + }); + } + lstatSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.lstatSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.lstatSync(subPath, opts); + }); + } + async fchmodPromise(fd, mask) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchmodPromise(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmod`); + const [mountFs, realFd] = entry; + return mountFs.fchmodPromise(realFd, mask); + } + fchmodSync(fd, mask) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchmodSync(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmodSync`); + const [mountFs, realFd] = entry; + return mountFs.fchmodSync(realFd, mask); + } + async chmodPromise(p, mask) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chmodPromise(p, mask); + }, async (mountFs, { subPath }) => { + return await mountFs.chmodPromise(subPath, mask); + }); + } + chmodSync(p, mask) { + return this.makeCallSync(p, () => { + return this.baseFs.chmodSync(p, mask); + }, (mountFs, { subPath }) => { + return mountFs.chmodSync(subPath, mask); + }); + } + async fchownPromise(fd, uid, gid) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchownPromise(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchown`); + const [zipFs, realFd] = entry; + return zipFs.fchownPromise(realFd, uid, gid); + } + fchownSync(fd, uid, gid) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchownSync(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchownSync`); + const [zipFs, realFd] = entry; + return zipFs.fchownSync(realFd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chownPromise(p, uid, gid); + }, async (mountFs, { subPath }) => { + return await mountFs.chownPromise(subPath, uid, gid); + }); + } + chownSync(p, uid, gid) { + return this.makeCallSync(p, () => { + return this.baseFs.chownSync(p, uid, gid); + }, (mountFs, { subPath }) => { + return mountFs.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 (mountFsO, { subPath: subPathO }) => { + return await this.makeCallPromise(newP, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, async (mountFsN, { subPath: subPathN }) => { + if (mountFsO !== mountFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return await mountFsO.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` }); + }); + }, (mountFsO, { subPath: subPathO }) => { + return this.makeCallSync(newP, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, (mountFsN, { subPath: subPathN }) => { + if (mountFsO !== mountFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return mountFsO.renameSync(subPathO, subPathN); + } + }); + }); + } + async copyFilePromise(sourceP, destP, flags = 0) { + const fallback = async (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = await sourceFs.readFilePromise(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + await destFs.writeFilePromise(destP2, content); + }; + return await this.makeCallPromise(sourceP, async () => { + return await this.makeCallPromise(destP, async () => { + return await this.baseFs.copyFilePromise(sourceP, destP, flags); + }, async (mountFsD, { subPath: subPathD }) => { + return await fallback(this.baseFs, sourceP, mountFsD, subPathD); + }); + }, async (mountFsS, { subPath: subPathS }) => { + return await this.makeCallPromise(destP, async () => { + return await fallback(mountFsS, subPathS, this.baseFs, destP); + }, async (mountFsD, { subPath: subPathD }) => { + if (mountFsS !== mountFsD) { + return await fallback(mountFsS, subPathS, mountFsD, subPathD); + } else { + return await mountFsS.copyFilePromise(subPathS, subPathD, flags); + } + }); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + const fallback = (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = sourceFs.readFileSync(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + destFs.writeFileSync(destP2, content); + }; + return this.makeCallSync(sourceP, () => { + return this.makeCallSync(destP, () => { + return this.baseFs.copyFileSync(sourceP, destP, flags); + }, (mountFsD, { subPath: subPathD }) => { + return fallback(this.baseFs, sourceP, mountFsD, subPathD); + }); + }, (mountFsS, { subPath: subPathS }) => { + return this.makeCallSync(destP, () => { + return fallback(mountFsS, subPathS, this.baseFs, destP); + }, (mountFsD, { subPath: subPathD }) => { + if (mountFsS !== mountFsD) { + return fallback(mountFsS, subPathS, mountFsD, subPathD); + } else { + return mountFsS.copyFileSync(subPathS, subPathD, flags); + } + }); + }); + } + async appendFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.appendFilePromise(p, content, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.appendFilePromise(subPath, content, opts); + }); + } + appendFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.appendFileSync(p, content, opts); + }, (mountFs, { subPath }) => { + return mountFs.appendFileSync(subPath, content, opts); + }); + } + async writeFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.writeFilePromise(p, content, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.writeFilePromise(subPath, content, opts); + }); + } + writeFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.writeFileSync(p, content, opts); + }, (mountFs, { subPath }) => { + return mountFs.writeFileSync(subPath, content, opts); + }); + } + async unlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.unlinkPromise(p); + }, async (mountFs, { subPath }) => { + return await mountFs.unlinkPromise(subPath); + }); + } + unlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.unlinkSync(p); + }, (mountFs, { subPath }) => { + return mountFs.unlinkSync(subPath); + }); + } + async utimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.utimesPromise(p, atime, mtime); + }, async (mountFs, { subPath }) => { + return await mountFs.utimesPromise(subPath, atime, mtime); + }); + } + utimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.utimesSync(p, atime, mtime); + }, (mountFs, { subPath }) => { + return mountFs.utimesSync(subPath, atime, mtime); + }); + } + async lutimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lutimesPromise(p, atime, mtime); + }, async (mountFs, { subPath }) => { + return await mountFs.lutimesPromise(subPath, atime, mtime); + }); + } + lutimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.lutimesSync(p, atime, mtime); + }, (mountFs, { subPath }) => { + return mountFs.lutimesSync(subPath, atime, mtime); + }); + } + async mkdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.mkdirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.mkdirPromise(subPath, opts); + }); + } + mkdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.mkdirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.mkdirSync(subPath, opts); + }); + } + async rmdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmdirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.rmdirPromise(subPath, opts); + }); + } + rmdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.rmdirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.rmdirSync(subPath, opts); + }); + } + async rmPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.rmPromise(subPath, opts); + }); + } + rmSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.rmSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.rmSync(subPath, opts); + }); + } + async linkPromise(existingP, newP) { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.linkPromise(existingP, newP); + }, async (mountFs, { subPath }) => { + return await mountFs.linkPromise(existingP, subPath); + }); + } + linkSync(existingP, newP) { + return this.makeCallSync(newP, () => { + return this.baseFs.linkSync(existingP, newP); + }, (mountFs, { subPath }) => { + return mountFs.linkSync(existingP, subPath); + }); + } + async symlinkPromise(target, p, type) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.symlinkPromise(target, p, type); + }, async (mountFs, { subPath }) => { + return await mountFs.symlinkPromise(target, subPath); + }); + } + symlinkSync(target, p, type) { + return this.makeCallSync(p, () => { + return this.baseFs.symlinkSync(target, p, type); + }, (mountFs, { subPath }) => { + return mountFs.symlinkSync(target, subPath); + }); + } + async readFilePromise(p, encoding) { + return this.makeCallPromise(p, async () => { + return await this.baseFs.readFilePromise(p, encoding); + }, async (mountFs, { subPath }) => { + return await mountFs.readFilePromise(subPath, encoding); + }); + } + readFileSync(p, encoding) { + return this.makeCallSync(p, () => { + return this.baseFs.readFileSync(p, encoding); + }, (mountFs, { subPath }) => { + return mountFs.readFileSync(subPath, encoding); + }); + } + async readdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readdirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.readdirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + readdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.readdirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.readdirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readlinkPromise(p); + }, async (mountFs, { subPath }) => { + return await mountFs.readlinkPromise(subPath); + }); + } + readlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.readlinkSync(p); + }, (mountFs, { subPath }) => { + return mountFs.readlinkSync(subPath); + }); + } + async truncatePromise(p, len) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.truncatePromise(p, len); + }, async (mountFs, { subPath }) => { + return await mountFs.truncatePromise(subPath, len); + }); + } + truncateSync(p, len) { + return this.makeCallSync(p, () => { + return this.baseFs.truncateSync(p, len); + }, (mountFs, { subPath }) => { + return mountFs.truncateSync(subPath, len); + }); + } + async ftruncatePromise(fd, len) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.ftruncatePromise(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncate`); + const [mountFs, realFd] = entry; + return mountFs.ftruncatePromise(realFd, len); + } + ftruncateSync(fd, len) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.ftruncateSync(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncateSync`); + const [mountFs, realFd] = entry; + return mountFs.ftruncateSync(realFd, len); + } + watch(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watch( + p, + // @ts-expect-error + a, + b + ); + }, (mountFs, { subPath }) => { + return mountFs.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 mountInfo = this.findMount(normalizedP); + if (!mountInfo) + return await discard(); + if (requireSubpath && mountInfo.subPath === `/`) + return await discard(); + return await this.getMountPromise(mountInfo.archivePath, async (mountFs) => await accept(mountFs, mountInfo)); + } + makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return discard(); + const normalizedP = this.resolve(p); + const mountInfo = this.findMount(normalizedP); + if (!mountInfo) + return discard(); + if (requireSubpath && mountInfo.subPath === `/`) + return discard(); + return this.getMountSync(mountInfo.archivePath, (mountFs) => accept(mountFs, mountInfo)); + } + findMount(p) { + if (this.filter && !this.filter.test(p)) + return null; + let filePath = ``; + while (true) { + const pathPartWithArchive = p.substring(filePath.length); + const mountPoint = this.getMountPoint(pathPartWithArchive, filePath); + if (!mountPoint) + return null; + filePath = this.pathUtils.join(filePath, mountPoint); + if (!this.isMount.has(filePath)) { + if (this.notMount.has(filePath)) + continue; + try { + if (this.typeCheck !== null && (this.baseFs.lstatSync(filePath).mode & fs.constants.S_IFMT) !== this.typeCheck) { + this.notMount.add(filePath); + continue; + } + } catch { + return null; + } + this.isMount.add(filePath); + } + return { + archivePath: filePath, + subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) + }; + } + } + limitOpenFilesTimeout = null; + limitOpenFiles(max) { + if (this.mountInstances === null) + return; + const now = Date.now(); + let nextExpiresAt = now + this.maxAge; + let closeCount = max === null ? 0 : this.mountInstances.size - max; + for (const [path, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) { + if (refCount !== 0 || childFs.hasOpenFileHandles?.()) { + continue; + } else if (now >= expiresAt) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + closeCount -= 1; + } + if (this.limitOpenFilesTimeout === null && (max === null && this.mountInstances.size > 0 || max !== null) && isFinite(nextExpiresAt)) { + this.limitOpenFilesTimeout = setTimeout(() => { + this.limitOpenFilesTimeout = null; + this.limitOpenFiles(null); + }, nextExpiresAt - now).unref(); + } + } + async getMountPromise(p, accept) { + if (this.mountInstances) { + let cachedMountFs = this.mountInstances.get(p); + if (!cachedMountFs) { + const createFsInstance = await this.factoryPromise(this.baseFs, p); + cachedMountFs = this.mountInstances.get(p); + if (!cachedMountFs) { + cachedMountFs = { + childFs: createFsInstance(), + expiresAt: 0, + refCount: 0 + }; + } + } + this.mountInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.mountInstances.set(p, cachedMountFs); + cachedMountFs.expiresAt = Date.now() + this.maxAge; + cachedMountFs.refCount += 1; + try { + return await accept(cachedMountFs.childFs); + } finally { + cachedMountFs.refCount -= 1; + } + } else { + const mountFs = (await this.factoryPromise(this.baseFs, p))(); + try { + return await accept(mountFs); + } finally { + mountFs.saveAndClose?.(); + } + } + } + getMountSync(p, accept) { + if (this.mountInstances) { + let cachedMountFs = this.mountInstances.get(p); + if (!cachedMountFs) { + cachedMountFs = { + childFs: this.factorySync(this.baseFs, p), + expiresAt: 0, + refCount: 0 + }; + } + this.mountInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.mountInstances.set(p, cachedMountFs); + cachedMountFs.expiresAt = Date.now() + this.maxAge; + return accept(cachedMountFs.childFs); + } else { + const childFs = this.factorySync(this.baseFs, p); + try { + return accept(childFs); + } finally { + childFs.saveAndClose?.(); + } + } + } +} + +class PosixFS extends ProxiedFS { + baseFs; + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return npath.fromPortablePath(path); + } + mapToBase(path) { + return npath.toPortablePath(path); + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + 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`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + 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)); + } + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + 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; + } +} + +const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? url.URL : globalThis.URL; + +class NodePathFS extends ProxiedFS { + baseFs; + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return path; + } + mapToBase(path) { + if (typeof path === `string`) + return path; + if (path instanceof URL) + return url.fileURLToPath(path); + if (Buffer.isBuffer(path)) { + const str = path.toString(); + if (!isUtf8(path, str)) + throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); + return str; + } + throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`); + } +} +function isUtf8(buf, str) { + if (typeof buffer__default.default.isUtf8 !== `undefined`) + return buffer__default.default.isUtf8(buf); + return Buffer.byteLength(str) === buf.byteLength; +} + +const kBaseFs = Symbol(`kBaseFs`); +const kFd = Symbol(`kFd`); +const kClosePromise = Symbol(`kClosePromise`); +const kCloseResolve = Symbol(`kCloseResolve`); +const kCloseReject = Symbol(`kCloseReject`); +const kRefs = Symbol(`kRefs`); +const kRef = Symbol(`kRef`); +const kUnref = Symbol(`kUnref`); +class FileHandle { + [kBaseFs]; + [kFd]; + [kRefs] = 1; + [kClosePromise] = void 0; + [kCloseResolve] = void 0; + [kCloseReject] = void 0; + constructor(fd, baseFs) { + this[kBaseFs] = baseFs; + this[kFd] = fd; + } + get fd() { + return this[kFd]; + } + async appendFile(data, options) { + try { + this[kRef](this.appendFile); + const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; + return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); + } finally { + this[kUnref](); + } + } + async chown(uid, gid) { + try { + this[kRef](this.chown); + return await this[kBaseFs].fchownPromise(this.fd, uid, gid); + } finally { + this[kUnref](); + } + } + async chmod(mode) { + try { + this[kRef](this.chmod); + return await this[kBaseFs].fchmodPromise(this.fd, mode); + } finally { + this[kUnref](); + } + } + createReadStream(options) { + return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); + } + createWriteStream(options) { + return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); + } + // FIXME: Missing FakeFS version + datasync() { + throw new Error(`Method not implemented.`); + } + // FIXME: Missing FakeFS version + sync() { + throw new Error(`Method not implemented.`); + } + async read(bufferOrOptions, offset, length, position) { + try { + this[kRef](this.read); + let buffer; + if (!Buffer.isBuffer(bufferOrOptions)) { + bufferOrOptions ??= {}; + buffer = bufferOrOptions.buffer ?? Buffer.alloc(16384); + offset = bufferOrOptions.offset || 0; + length = bufferOrOptions.length ?? buffer.byteLength; + position = bufferOrOptions.position ?? null; + } else { + buffer = bufferOrOptions; + } + offset ??= 0; + length ??= 0; + if (length === 0) { + return { + bytesRead: length, + buffer + }; + } + const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); + return { + bytesRead, + buffer + }; + } finally { + this[kUnref](); + } + } + async readFile(options) { + try { + this[kRef](this.readFile); + const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; + return await this[kBaseFs].readFilePromise(this.fd, encoding); + } finally { + this[kUnref](); + } + } + readLines(options) { + return readline.createInterface({ + input: this.createReadStream(options), + crlfDelay: Infinity + }); + } + async stat(opts) { + try { + this[kRef](this.stat); + return await this[kBaseFs].fstatPromise(this.fd, opts); + } finally { + this[kUnref](); + } + } + async truncate(len) { + try { + this[kRef](this.truncate); + return await this[kBaseFs].ftruncatePromise(this.fd, len); + } finally { + this[kUnref](); + } + } + // FIXME: Missing FakeFS version + utimes(atime, mtime) { + throw new Error(`Method not implemented.`); + } + async writeFile(data, options) { + try { + this[kRef](this.writeFile); + const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; + await this[kBaseFs].writeFilePromise(this.fd, data, encoding); + } finally { + this[kUnref](); + } + } + async write(...args) { + try { + this[kRef](this.write); + if (ArrayBuffer.isView(args[0])) { + const [buffer, offset, length, position] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset ?? void 0, length ?? void 0, position ?? void 0); + return { bytesWritten, buffer }; + } else { + const [data, position, encoding] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); + return { bytesWritten, buffer: data }; + } + } finally { + this[kUnref](); + } + } + // TODO: Use writev from FakeFS when that is implemented + async writev(buffers, position) { + try { + this[kRef](this.writev); + let bytesWritten = 0; + if (typeof position !== `undefined`) { + for (const buffer of buffers) { + const writeResult = await this.write(buffer, void 0, void 0, position); + bytesWritten += writeResult.bytesWritten; + position += writeResult.bytesWritten; + } + } else { + for (const buffer of buffers) { + const writeResult = await this.write(buffer); + bytesWritten += writeResult.bytesWritten; + } + } + return { + buffers, + bytesWritten + }; + } finally { + this[kUnref](); + } + } + // FIXME: Missing FakeFS version + readv(buffers, position) { + throw new Error(`Method not implemented.`); + } + close() { + if (this[kFd] === -1) return Promise.resolve(); + if (this[kClosePromise]) return this[kClosePromise]; + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { + this[kClosePromise] = void 0; + }); + } else { + this[kClosePromise] = new Promise((resolve, reject) => { + this[kCloseResolve] = resolve; + this[kCloseReject] = reject; + }).finally(() => { + this[kClosePromise] = void 0; + this[kCloseReject] = void 0; + this[kCloseResolve] = void 0; + }); + } + return this[kClosePromise]; + } + [kRef](caller) { + if (this[kFd] === -1) { + const err = new Error(`file closed`); + err.code = `EBADF`; + err.syscall = caller.name; + throw err; + } + this[kRefs]++; + } + [kUnref]() { + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); + } + } +} + +const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessSync`, + `appendFileSync`, + `createReadStream`, + `createWriteStream`, + `chmodSync`, + `fchmodSync`, + `chownSync`, + `fchownSync`, + `closeSync`, + `copyFileSync`, + `linkSync`, + `lstatSync`, + `fstatSync`, + `lutimesSync`, + `mkdirSync`, + `openSync`, + `opendirSync`, + `readlinkSync`, + `readFileSync`, + `readdirSync`, + `readlinkSync`, + `realpathSync`, + `renameSync`, + `rmdirSync`, + `rmSync`, + `statSync`, + `symlinkSync`, + `truncateSync`, + `ftruncateSync`, + `unlinkSync`, + `unwatchFile`, + `utimesSync`, + `watch`, + `watchFile`, + `writeFileSync`, + `writeSync` +]); +const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessPromise`, + `appendFilePromise`, + `fchmodPromise`, + `chmodPromise`, + `fchownPromise`, + `chownPromise`, + `closePromise`, + `copyFilePromise`, + `linkPromise`, + `fstatPromise`, + `lstatPromise`, + `lutimesPromise`, + `mkdirPromise`, + `openPromise`, + `opendirPromise`, + `readdirPromise`, + `realpathPromise`, + `readFilePromise`, + `readdirPromise`, + `readlinkPromise`, + `renamePromise`, + `rmdirPromise`, + `rmPromise`, + `statPromise`, + `symlinkPromise`, + `truncatePromise`, + `ftruncatePromise`, + `unlinkPromise`, + `utimesPromise`, + `writeFilePromise`, + `writeSync` +]); +function patchFs(patchedFs, fakeFs) { + fakeFs = new NodePathFS(fakeFs); + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + if (typeof orig?.[nodeUtils.promisify.custom] !== `undefined`) { + replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom]; + } + }; + { + 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`, (...args) => { + let [fd, buffer, offset, length, position, callback] = args; + if (args.length <= 3) { + let options = {}; + if (args.length < 3) { + callback = args[1]; + } else { + options = args[1]; + callback = args[2]; + } + ({ + buffer = Buffer.alloc(16384), + offset = 0, + length = buffer.byteLength, + position + } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) { + process.nextTick(() => { + callback(null, 0, buffer); + }); + return; + } + if (position == null) + position = -1; + process.nextTick(() => { + fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { + callback(null, bytesRead, buffer); + }, (error) => { + 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; + } + { + setupFn(patchedFs, `existsSync`, (p) => { + try { + return fakeFs.existsSync(p); + } catch (error) { + return false; + } + }); + setupFn(patchedFs, `readSync`, (...args) => { + let [fd, buffer, offset, length, position] = args; + if (args.length <= 3) { + const options = args[2] || {}; + ({ offset = 0, length = buffer.byteLength, position } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) + return 0; + if (position == null) + position = -1; + return fakeFs.readSync(fd, buffer, offset, length, position); + }); + 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; + } + { + const patchedFsPromises = patchedFs.promises; + 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; + if (fnName === `open`) + continue; + setupFn(patchedFsPromises, origName, (pathLike, ...args) => { + if (pathLike instanceof FileHandle) { + return pathLike[origName].apply(pathLike, args); + } else { + return fakeImpl.call(fakeFs, pathLike, ...args); + } + }); + } + setupFn(patchedFsPromises, `open`, async (...args) => { + const fd = await fakeFs.openPromise(...args); + return new FileHandle(fd, fakeFs); + }); + } + { + patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.readPromise(fd, buffer, ...args); + return { bytesRead: await res, buffer }; + }; + patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.writePromise(fd, buffer, ...args); + return { bytesWritten: await res, buffer }; + }; + } +} + +let cachedInstance; +let registeredFactory = () => { + throw new Error(`Assertion failed: No libzip instance is available, and no factory was configured`); +}; +function setFactory(factory) { + registeredFactory = factory; +} +function getInstance() { + if (typeof cachedInstance === `undefined`) + cachedInstance = registeredFactory(); + return cachedInstance; +} + +var libzipSync = {exports: {}}; + +(function (module, exports) { +var frozenFs = Object.assign({}, fs__default.default); +var createModule = function() { + var _scriptDir = void 0; + if (typeof __filename !== "undefined") _scriptDir = _scriptDir || __filename; + return function(createModule2) { + createModule2 = createModule2 || {}; + var Module = typeof createModule2 !== "undefined" ? createModule2 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } + } + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readBinary; + var nodeFS; + var nodePath; + { + { + 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 = path__default.default; + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + process["argv"][1].replace(/\\/g, "/"); + } + process["argv"].slice(2); + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + } + 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"]) ; + if (Module["thisProgram"]) ; + if (Module["quit"]) ; + var wasmBinary; + if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + 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 LE_HEAP_LOAD_I16((ptr >> 1) * 2); + case "i32": + return LE_HEAP_LOAD_I32((ptr >> 2) * 4); + case "i64": + return LE_HEAP_LOAD_I32((ptr >> 2) * 4); + case "float": + return LE_HEAP_LOAD_F32((ptr >> 2) * 4); + case "double": + return LE_HEAP_LOAD_F64((ptr >> 3) * 8); + default: + abort("invalid type for getValue: " + type); + } + return null; + } + var wasmMemory; + var ABORT = false; + 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 ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, + array: function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } + }; + function convertReturnValue(ret2) { + if (returnType === "string") return UTF8ToString(ret2); + if (returnType === "boolean") return Boolean(ret2); + return ret2; + } + 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); + }; + } + var UTF8Decoder = new TextDecoder("utf8"); + function UTF8ToString(ptr, maxBytesToRead) { + if (!ptr) return ""; + var maxPtr = ptr + maxBytesToRead; + for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end; + return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); + } + 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, buffer2) { + HEAP8.set(array, buffer2); + } + function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - x % multiple; + } + return x; + } + var buffer, HEAP8, HEAPU8; + var HEAP_DATA_VIEW; + function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(buf); + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = new Int16Array(buf); + Module["HEAP32"] = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = new Uint16Array(buf); + Module["HEAPU32"] = new Uint32Array(buf); + Module["HEAPF32"] = new Float32Array(buf); + Module["HEAPF64"] = new Float64Array(buf); + } + Module["INITIAL_MEMORY"] || 16777216; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + 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() { + 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 dependenciesFulfilled = null; + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + 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; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + 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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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w=="; + 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 (err2) { + abort(err2); + } + } + function instantiateSync(file, info) { + var instance; + var module2; + var binary; + try { + binary = getBinary(file); + module2 = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module2, 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, module2]; + } + function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["g"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["W"]; + addOnInit(Module["asm"]["h"]); + removeRunDependency(); + } + addRunDependency(); + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + var result = instantiateSync(wasmBinaryFile, info); + receiveInstance(result[0]); + return Module["asm"]; + } + function LE_HEAP_LOAD_F32(byteOffset) { + return HEAP_DATA_VIEW.getFloat32(byteOffset, true); + } + function LE_HEAP_LOAD_F64(byteOffset) { + return HEAP_DATA_VIEW.getFloat64(byteOffset, true); + } + function LE_HEAP_LOAD_I16(byteOffset) { + return HEAP_DATA_VIEW.getInt16(byteOffset, true); + } + function LE_HEAP_LOAD_I32(byteOffset) { + return HEAP_DATA_VIEW.getInt32(byteOffset, true); + } + function LE_HEAP_STORE_I32(byteOffset, value) { + HEAP_DATA_VIEW.setInt32(byteOffset, value, true); + } + 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 === void 0) { + wasmTable.get(func)(); + } else { + wasmTable.get(func)(callback.arg); + } + } else { + func(callback.arg === void 0 ? null : callback.arg); + } + } + } + function _gmtime_r(time, tmPtr) { + var date = new Date(LE_HEAP_LOAD_I32((time >> 2) * 4) * 1e3); + LE_HEAP_STORE_I32((tmPtr >> 2) * 4, date.getUTCSeconds()); + LE_HEAP_STORE_I32((tmPtr + 4 >> 2) * 4, date.getUTCMinutes()); + LE_HEAP_STORE_I32((tmPtr + 8 >> 2) * 4, date.getUTCHours()); + LE_HEAP_STORE_I32((tmPtr + 12 >> 2) * 4, date.getUTCDate()); + LE_HEAP_STORE_I32((tmPtr + 16 >> 2) * 4, date.getUTCMonth()); + LE_HEAP_STORE_I32((tmPtr + 20 >> 2) * 4, date.getUTCFullYear() - 1900); + LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); + LE_HEAP_STORE_I32((tmPtr + 36 >> 2) * 4, 0); + LE_HEAP_STORE_I32((tmPtr + 32 >> 2) * 4, 0); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); + if (!_gmtime_r.GMTString) _gmtime_r.GMTString = allocateUTF8("GMT"); + LE_HEAP_STORE_I32((tmPtr + 40 >> 2) * 4, _gmtime_r.GMTString); + return tmPtr; + } + function ___gmtime_r(a0, a1) { + return _gmtime_r(a0, a1); + } + 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 _setTempRet0(val) { + } + function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + LE_HEAP_STORE_I32((ptr >> 2) * 4, ret); + } + return ret; + } + function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + var currentYear = (/* @__PURE__ */ 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); + LE_HEAP_STORE_I32((__get_timezone() >> 2) * 4, stdTimezoneOffset * 60); + LE_HEAP_STORE_I32( + (__get_daylight() >> 2) * 4, + 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) { + LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, winterNamePtr); + LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, summerNamePtr); + } else { + LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, summerNamePtr); + LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, winterNamePtr); + } + } + function _timegm(tmPtr) { + _tzset(); + var time = Date.UTC( + LE_HEAP_LOAD_I32((tmPtr + 20 >> 2) * 4) + 1900, + LE_HEAP_LOAD_I32((tmPtr + 16 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr + 12 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr + 8 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr + 4 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr >> 2) * 4), + 0 + ); + var date = new Date(time); + LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); + return date.getTime() / 1e3 | 0; + } + function intArrayFromBase64(s) { + { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array( + buf["buffer"], + buf["byteOffset"], + buf["byteLength"] + ); + } + } + function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); + } + var asmLibraryArg = { + e: ___gmtime_r, + c: _emscripten_memcpy_big, + d: _emscripten_resize_heap, + a: _setTempRet0, + b: _time, + f: _timegm + }; + var asm = createWasm(); + Module["___wasm_call_ctors"] = asm["h"]; + Module["_zip_ext_count_symlinks"] = asm["i"]; + Module["_zip_file_get_external_attributes"] = asm["j"]; + Module["_zipstruct_statS"] = asm["k"]; + Module["_zipstruct_stat_size"] = asm["l"]; + Module["_zipstruct_stat_mtime"] = asm["m"]; + Module["_zipstruct_stat_crc"] = asm["n"]; + Module["_zipstruct_errorS"] = asm["o"]; + Module["_zipstruct_error_code_zip"] = asm["p"]; + Module["_zipstruct_stat_comp_size"] = asm["q"]; + Module["_zipstruct_stat_comp_method"] = asm["r"]; + Module["_zip_close"] = asm["s"]; + Module["_zip_delete"] = asm["t"]; + Module["_zip_dir_add"] = asm["u"]; + Module["_zip_discard"] = asm["v"]; + Module["_zip_error_init_with_code"] = asm["w"]; + Module["_zip_get_error"] = asm["x"]; + Module["_zip_file_get_error"] = asm["y"]; + Module["_zip_error_strerror"] = asm["z"]; + Module["_zip_fclose"] = asm["A"]; + Module["_zip_file_add"] = asm["B"]; + Module["_free"] = asm["C"]; + var _malloc = Module["_malloc"] = asm["D"]; + Module["_zip_source_error"] = asm["E"]; + Module["_zip_source_seek"] = asm["F"]; + Module["_zip_file_set_external_attributes"] = asm["G"]; + Module["_zip_file_set_mtime"] = asm["H"]; + Module["_zip_fopen_index"] = asm["I"]; + Module["_zip_fread"] = asm["J"]; + Module["_zip_get_name"] = asm["K"]; + Module["_zip_get_num_entries"] = asm["L"]; + Module["_zip_source_read"] = asm["M"]; + Module["_zip_name_locate"] = asm["N"]; + Module["_zip_open_from_source"] = asm["O"]; + Module["_zip_set_file_compression"] = asm["P"]; + Module["_zip_source_buffer"] = asm["Q"]; + Module["_zip_source_buffer_create"] = asm["R"]; + Module["_zip_source_close"] = asm["S"]; + Module["_zip_source_free"] = asm["T"]; + Module["_zip_source_keep"] = asm["U"]; + Module["_zip_source_open"] = asm["V"]; + Module["_zip_source_tell"] = asm["X"]; + Module["_zip_stat_index"] = asm["Y"]; + var __get_tzname = Module["__get_tzname"] = asm["Z"]; + var __get_daylight = Module["__get_daylight"] = asm["_"]; + var __get_timezone = Module["__get_timezone"] = asm["$"]; + var stackSave = Module["stackSave"] = asm["aa"]; + var stackRestore = Module["stackRestore"] = asm["ba"]; + var stackAlloc = Module["stackAlloc"] = asm["ca"]; + Module["cwrap"] = cwrap; + Module["getValue"] = getValue; + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; + }; + function run(args) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + readyPromiseResolve(Module); + 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(); + return createModule2; + }; +}(); +module.exports = createModule; +}(libzipSync)); + +const createModule = libzipSync.exports; + +const number64 = [ + `number`, + // low + `number` + // high +]; +var Errors = /* @__PURE__ */ ((Errors2) => { + Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; + Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; + Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; + Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; + Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; + Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; + Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; + Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; + Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; + Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; + Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; + Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; + Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; + Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; + Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; + Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; + Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; + Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; + Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; + Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; + Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; + Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; + Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; + Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; + Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; + Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; + Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; + Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; + Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; + Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; + Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; + Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; + return Errors2; +})(Errors || {}); +const makeInterface = (emZip) => ({ + // Those are getters because they can change after memory growth + get HEAPU8() { + return emZip.HEAPU8; + }, + errors: Errors, + SEEK_SET: 0, + SEEK_CUR: 1, + SEEK_END: 2, + ZIP_CHECKCONS: 4, + ZIP_EXCL: 2, + 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: emZip._malloc(1), + uint32S: emZip._malloc(4), + malloc: emZip._malloc, + free: emZip._free, + getValue: emZip.getValue, + openFromSource: emZip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), + close: emZip.cwrap(`zip_close`, `number`, [`number`]), + discard: emZip.cwrap(`zip_discard`, null, [`number`]), + getError: emZip.cwrap(`zip_get_error`, `number`, [`number`]), + getName: emZip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), + getNumEntries: emZip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), + delete: emZip.cwrap(`zip_delete`, `number`, [`number`, `number`]), + statIndex: emZip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), + fopenIndex: emZip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), + fread: emZip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), + fclose: emZip.cwrap(`zip_fclose`, `number`, [`number`]), + dir: { + add: emZip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + }, + file: { + add: emZip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), + getError: emZip.cwrap(`zip_file_get_error`, `number`, [`number`]), + getExternalAttributes: emZip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setExternalAttributes: emZip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setMtime: emZip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), + setCompression: emZip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + }, + ext: { + countSymlinks: emZip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) + }, + error: { + initWithCode: emZip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), + strerror: emZip.cwrap(`zip_error_strerror`, `string`, [`number`]) + }, + name: { + locate: emZip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + }, + source: { + fromUnattachedBuffer: emZip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]), + fromBuffer: emZip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), + free: emZip.cwrap(`zip_source_free`, null, [`number`]), + keep: emZip.cwrap(`zip_source_keep`, null, [`number`]), + open: emZip.cwrap(`zip_source_open`, `number`, [`number`]), + close: emZip.cwrap(`zip_source_close`, `number`, [`number`]), + seek: emZip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), + tell: emZip.cwrap(`zip_source_tell`, `number`, [`number`]), + read: emZip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), + error: emZip.cwrap(`zip_source_error`, `number`, [`number`]) + }, + struct: { + statS: emZip.cwrap(`zipstruct_statS`, `number`, []), + statSize: emZip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), + statCompSize: emZip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), + statCompMethod: emZip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), + statMtime: emZip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), + statCrc: emZip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), + errorS: emZip.cwrap(`zipstruct_errorS`, `number`, []), + errorCodeZip: emZip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) + } +}); + +function 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; + if (path[idx - 1] === ppath.sep) + return null; + idx = path.indexOf(extension, nextCharIdx); + } + if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) + return null; + return path.slice(0, nextCharIdx); +} +class ZipOpenFS extends MountFS { + static async openPromise(fn, opts) { + const zipOpenFs = new ZipOpenFS(opts); + try { + return await fn(zipOpenFs); + } finally { + zipOpenFs.saveAndClose(); + } + } + constructor(opts = {}) { + const fileExtensions = opts.fileExtensions; + const readOnlyArchives = opts.readOnlyArchives; + const getMountPoint = typeof fileExtensions === `undefined` ? (path) => getArchivePart(path, `.zip`) : (path) => { + for (const extension of fileExtensions) { + const result = getArchivePart(path, extension); + if (result) { + return result; + } + } + return null; + }; + const factorySync = (baseFs, p) => { + return new ZipFS(p, { + baseFs, + readOnly: readOnlyArchives, + stats: baseFs.statSync(p) + }); + }; + const factoryPromise = async (baseFs, p) => { + const zipOptions = { + baseFs, + readOnly: readOnlyArchives, + stats: await baseFs.statPromise(p) + }; + return () => { + return new ZipFS(p, zipOptions); + }; + }; + super({ + ...opts, + factorySync, + factoryPromise, + getMountPoint + }); + } +} + +const DEFAULT_COMPRESSION_LEVEL = `mixed`; +function toUnixTimestamp(time) { + if (typeof time === `string` && String(+time) === time) + return +time; + if (typeof time === `number` && Number.isFinite(time)) { + if (time < 0) { + return Date.now() / 1e3; + } else { + return time; + } + } + if (nodeUtils.types.isDate(time)) + return time.getTime() / 1e3; + throw new Error(`Invalid time`); +} +function makeEmptyArchive() { + 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 + ]); +} +class LibzipError extends Error { + code; + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } +} +class ZipFS extends BasePortableFakeFS { + libzip; + baseFs; + path; + stats; + zip; + lzSource; + level; + listings = /* @__PURE__ */ new Map(); + entries = /* @__PURE__ */ new Map(); + /** + * A cache of indices mapped to file sources. + * Populated by `setFileSource` calls. + * Required for supporting read after write. + */ + fileSources = /* @__PURE__ */ new Map(); + symlinkCount; + fds = /* @__PURE__ */ new Map(); + nextFd = 0; + ready = false; + readOnly = false; + constructor(source, opts = {}) { + super(); + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + 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(); + } + } + this.libzip = getInstance(); + const errPtr = this.libzip.malloc(4); + try { + let flags = 0; + if (opts.readOnly) { + flags |= this.libzip.ZIP_RDONLY; + this.readOnly = true; + } + if (typeof source === `string`) + source = pathOptions.create ? makeEmptyArchive() : this.baseFs.readFileSync(source); + 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, /* @__PURE__ */ 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 (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]); + 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; + } + prepareClose() { + if (!this.ready) + throw EBUSY(`archive closed, close`); + unwatchAllFiles(this); + } + getBufferAndClose() { + this.prepareClose(); + if (this.entries.size === 0) { + this.discardAndClose(); + return makeEmptyArchive(); + } + try { + this.libzip.source.keep(this.lzSource); + if (this.libzip.close(this.zip) === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.libzip.source.open(this.lzSource) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const size = this.libzip.source.tell(this.lzSource); + if (size === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + 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`); + let result = Buffer.from(this.libzip.HEAPU8.subarray(buffer, buffer + size)); + if (process.env.YARN_IS_TEST_ENV && process.env.YARN_ZIP_DATA_EPILOGUE) + result = Buffer.concat([result, Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)]); + return result; + } finally { + this.libzip.free(buffer); + } + } finally { + this.libzip.source.close(this.lzSource); + this.libzip.source.free(this.lzSource); + this.ready = false; + } + } + discardAndClose() { + this.prepareClose(); + this.libzip.discard(this.zip); + this.ready = false; + } + saveAndClose() { + if (!this.path || !this.baseFs) + throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); + if (this.readOnly) { + this.discardAndClose(); + return; + } + const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode; + this.baseFs.writeFileSync(this.path, this.getBufferAndClose(), { mode: newMode }); + 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`); + const realPosition = position === -1 || position === null ? entry.cursor : 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$1 = Object.assign( + new stream.PassThrough({ + emitClose: true, + autoDestroy: true, + destroy: (error, callback) => { + clearImmediate(immediate); + this.closeSync(fd); + callback(error); + } + }), + { + close() { + stream$1.destroy(); + }, + bytesRead: 0, + path: p, + // "This property is `true` if the underlying file has not been opened yet" + pending: false + } + ); + const immediate = setImmediate(async () => { + try { + const data = await this.readFilePromise(p, encoding); + stream$1.bytesRead = data.length; + stream$1.end(data); + } catch (error) { + stream$1.destroy(error); + } + }); + return stream$1; + } + 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$1 = Object.assign( + new stream.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); + } + } + }), + { + close() { + stream$1.destroy(); + }, + bytesWritten: 0, + path: p, + // "This property is `true` if the underlying file has not been opened yet" + pending: false + } + ); + stream$1.on(`data`, (chunk) => { + const chunkBuffer = Buffer.from(chunk); + stream$1.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + return stream$1; + } + 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 resolvedP2 = ppath.resolve(PortablePath.root, p); + return this.entries.has(resolvedP2) || this.listings.has(resolvedP2); + } + let resolvedP; + try { + resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false); + } catch (error) { + return false; + } + if (resolvedP === void 0) + return false; + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + async accessPromise(p, mode) { + return this.accessSync(p, mode); + } + accessSync(p, mode = 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 & fs.constants.W_OK) { + throw EROFS(`access '${p}'`); + } + } + async statPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.statSync(p, { bigint: true }); + return this.statSync(p); + } + statSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + 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 = { bigint: false }) { + if (opts.bigint) + return this.lstatSync(p, { bigint: true }); + return this.lstatSync(p); + } + lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + 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); + 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) * 1e3; + 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) ? fs.constants.S_IFDIR : this.isSymbolicLink(entry) ? fs.constants.S_IFLNK : fs.constants.S_IFREG; + const defaultMode = type === fs.constants.S_IFDIR ? 493 : 420; + const mode = type | this.getUnixMode(entry, defaultMode) & 511; + 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; + } + 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 = fs.constants.S_IFDIR | 493; + 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) { + const existingListing = this.listings.get(p); + if (existingListing) + return existingListing; + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + const newListing = /* @__PURE__ */ new Set(); + this.listings.set(p, newListing); + return newListing; + } + 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?.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, throwIfNoEntry = 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 !== void 0) { + if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { + const target = this.getFileSource(fileIndex).toString(); + return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); + } else { + return resolvedP; + } + } + while (true) { + const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry); + if (parentP === void 0) + return parentP; + const isDir = this.listings.has(parentP); + const doesExist = this.entries.has(parentP); + if (!isDir && !doesExist) { + if (throwIfNoEntry === false) + return void 0; + 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), 0); + 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`); + 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, 1, 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, 1); + 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`) { + const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : 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 & fs.constants.S_IFMT) === fs.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 rc2 = this.libzip.fread(file, buffer, size, 0); + if (rc2 === -1) + throw this.makeLibzipError(this.libzip.file.getError(file)); + else if (rc2 < size) + throw new Error(`Incomplete read`); + else if (rc2 > 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) => { + zlib__default.default.inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = zlib__default.default.inflateRawSync(data); + this.fileSources.set(index, decompressedData); + return decompressedData; + } + } finally { + this.libzip.fclose(file); + } + } finally { + this.libzip.free(buffer); + } + } + async fchmodPromise(fd, mask) { + return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask); + } + fchmodSync(fd, mask) { + return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask); + } + async chmodPromise(p, mask) { + return this.chmodSync(p, mask); + } + chmodSync(p, mask) { + if (this.readOnly) + throw EROFS(`chmod '${p}'`); + mask &= 493; + 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, fs.constants.S_IFREG | 0); + const newMod = oldMod & ~511 | 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 fchownPromise(fd, uid, gid) { + return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid); + } + fchownSync(fd, uid, gid) { + return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid); + } + 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 & 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 & (fs.constants.COPYFILE_EXCL | 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) { + const path = this.fds.get(fd)?.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 !== void 0 && 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 !== void 0 && 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 === void 0) + 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 = 493, recursive = false } = {}) { + if (recursive) + return this.mkdirpSync(p, { chmod: mode }); + 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); + return void 0; + } + 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); + } + async rmPromise(p, opts) { + return this.rmSync(p, opts); + } + rmSync(p, { recursive = false } = {}) { + if (this.readOnly) + throw EROFS(`rm '${p}'`); + if (recursive) { + this.removeSync(p); + return; + } + const resolvedP = this.resolveFilename(`rm '${p}'`, p); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`rm '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rm '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rm '${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) { + 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, (fs.constants.S_IFLNK | 511) << 16); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.symlinkCount += 1; + } + async readFilePromise(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = await this.readFileBuffer(p, { asyncDecompress: true }); + return encoding ? data.toString(encoding) : data; + } + readFileSync(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + 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}'`); + 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 === void 0) + 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}'`); + if (opts?.recursive) { + if (opts?.withFileTypes) { + const entries = Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name, + path: PortablePath.dot + }); + }); + for (const entry of entries) { + if (!entry.isDirectory()) + continue; + const subPath = ppath.join(entry.path, entry.name); + const subListing = this.listings.get(ppath.join(resolvedP, subPath)); + for (const child of subListing) { + entries.push(Object.assign(this.statImpl(`lstat`, ppath.join(p, subPath, child)), { + name: child, + path: subPath + })); + } + } + return entries; + } else { + const entries = [...directoryListing]; + for (const subPath of entries) { + const subListing = this.listings.get(ppath.join(resolvedP, subPath)); + if (typeof subListing === `undefined`) + continue; + for (const child of subListing) { + entries.push(ppath.join(subPath, child)); + } + } + return entries; + } + } else if (opts?.withFileTypes) { + return Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name, + path: void 0 + }); + }); + } else { + return [...directoryListing]; + } + } + 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}'`); + 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 === void 0) + 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, 0); + 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, 0); + source.copy(truncated); + return this.writeFileSync(p, truncated); + } + async ftruncatePromise(fd, len) { + return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len); + } + ftruncateSync(fd, len) { + return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len); + } + 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 * 1e3); + 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); + } +} + +setFactory(() => { + const emZip = createModule(); + return makeInterface(emZip); +}); + +var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { + ErrorCode2["API_ERROR"] = `API_ERROR`; + ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; + ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; + ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; + ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; + ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; + ErrorCode2["INTERNAL"] = `INTERNAL`; + ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; + ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; + return ErrorCode2; +})(ErrorCode || {}); +const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ + "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, + "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, + "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, + "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */, + "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ +]); +function makeError(pnpCode, message, data = {}, code) { + 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 + } + }); +} +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)); +} + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; + +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; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs__default.default.existsSync(jsonPath)) + return null; + return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); +} +function ERR_REQUIRE_ESM(filename, parentPath = null) { + const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); + const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. +Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; + const err = new Error(msg); + err.code = `ERR_REQUIRE_ESM`; + return err; +} +function reportRequiredFilesToWatchMode(files) { + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename)))); + if (WATCH_MODE_MESSAGE_USES_ARRAYS) { + process.send({ "watch:require": files }); + } else { + for (const filename of files) { + process.send({ "watch:require": filename }); + } + } + } +} + +function applyPatch(pnpapi, opts) { + let enableNativeHooks = true; + process.versions.pnp = String(pnpapi.VERSIONS.std); + const moduleExports = require$$0__default.default; + moduleExports.findPnpApi = (lookupSource) => { + const lookupPath = lookupSource instanceof URL ? url.fileURLToPath(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) + return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); + 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; + } + const originalModuleLoad = require$$0.Module._load; + require$$0.Module._load = function(request, parent, isMain) { + if (request === `pnpapi`) { + const parentApiPath = opts.manager.getApiPathFromParent(parent); + if (parentApiPath) { + return opts.manager.getApiEntry(parentApiPath, true).instance; + } + } + return originalModuleLoad.call(require$$0.Module, request, parent, isMain); + }; + function getIssuerSpecsFromPaths(paths) { + return paths.map((path) => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + function getIssuerSpecsFromModule(module) { + 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 = opts.manager.findApiPathFor(npath.join(path, `[file]`)) ?? opts.manager.getApiPathFromParent(null); + return [{ apiPath, path, module }]; + } + } + function makeFakeParent(path) { + const fakeParent = new require$$0.Module(``); + const fakeFilePath = npath.join(path, `[file]`); + fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = require$$0.Module._resolveFilename; + require$$0.Module._resolveFilename = function(request, parent, isMain, options) { + if (require$$0.isBuiltin(request)) + return request; + if (!enableNativeHooks) + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); + if (options && options.plugnplay === false) { + const { plugnplay, ...forwardedOptions } = options; + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + if (optionNames.size > 0) { + throw 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?.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 = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : 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(require$$0.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 += ` +Require stack: +- ${requireStack.join(` +- `)}`; + if (typeof firstError.pnpCode === `string`) + Error.captureStackTrace(firstError); + throw firstError; + }; + const originalFindPath = require$$0.Module._findPath; + require$$0.Module._findPath = function(request, paths, isMain) { + if (request === `pnpapi`) + return false; + if (!enableNativeHooks) + return originalFindPath.call(require$$0.Module, request, paths, isMain); + 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(require$$0.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + if (resolution) { + return resolution; + } + } + return false; + }; + const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; + require$$0.Module._extensions[`.js`] = function(module, filename) { + if (filename.endsWith(`.js`)) { + const pkg = readPackageScope(filename); + if (pkg && pkg.data?.type === `module`) { + const err = ERR_REQUIRE_ESM(filename, module.parent?.filename); + Error.captureStackTrace(err); + throw err; + } + } + originalExtensionJSFunction.call(this, module, filename); + }; + const originalDlopen = process.dlopen; + process.dlopen = function(...args) { + const [module, filename, ...rest] = args; + return originalDlopen.call( + this, + module, + npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), + ...rest + ); + }; + const originalEmit = process.emit; + process.emit = function(name, data, ...args) { + if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) + return false; + return originalEmit.apply(process, arguments); + }; + patchFs(fs__default.default, new PosixFS(opts.fakeFs)); +} + +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 = /* @__PURE__ */ new Map(); + const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { + return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { + if (packageName === null !== (packageReference === null)) + throw new Error(`Assertion failed: The name and reference should be null, or neither should`); + const discardFromLookup = packageInformationData.discardFromLookup ?? false; + 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() { + 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 + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert__default.default(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); +const ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType( + "ERR_PACKAGE_PATH_NOT_EXPORTED", + (pkgPath, subpath, base = void 0) => { + if (subpath === ".") + return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + url.fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = url.fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), + url.fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && url.fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && url.fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) return -1; + if (baseLenB > baseLenA) return 1; + if (aPatternIndex === -1) return 1; + if (bPatternIndex === -1) return -1; + if (a.length > b.length) return -1; + if (b.length > a.length) return 1; + return 0; +} +function isConditionalExportsMainSugar(exports, packageJSONUrl, base) { + if (typeof exports === "string" || ArrayIsArray(exports)) return true; + if (typeof exports !== "object" || exports === null) return false; + const keys = ObjectGetOwnPropertyNames(exports); + let isConditionalSugar = false; + let i = 0; + for (let j = 0; j < keys.length; j++) { + const key = keys[j]; + const curIsConditionalSugar = key === "" || key[0] !== "."; + if (i++ === 0) { + isConditionalSugar = curIsConditionalSugar; + } else if (isConditionalSugar !== curIsConditionalSugar) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` + ); + } + } + return isConditionalSugar; +} +function throwExportsNotFound(subpath, packageJSONUrl, base) { + throw new ERR_PACKAGE_PATH_NOT_EXPORTED( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + base && url.fileURLToPath(base) + ); +} +const emittedPackageWarnings = /* @__PURE__ */ new Set(); +function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { + const pjsonPath = url.fileURLToPath(pjsonUrl); + if (emittedPackageWarnings.has(pjsonPath + "|" + match)) return; + emittedPackageWarnings.add(pjsonPath + "|" + match); + process.emitWarning( + `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, + "DeprecationWarning", + "DEP0155" + ); +} +function packageExportsResolve({ + packageJSONUrl, + packageSubpath, + exports, + base, + conditions +}) { + if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) + exports = { ".": exports }; + if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { + const target = exports[packageSubpath]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + "", + packageSubpath, + base, + false, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(exports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + packageSubpath, + StringPrototypeSlice(key, 0, patternIndex) + )) { + if (StringPrototypeEndsWith(packageSubpath, "/")) + emitTrailingSlashPatternDeprecation( + packageSubpath, + packageJSONUrl, + base + ); + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + packageSubpath, + patternIndex, + packageSubpath.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = exports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + throwExportsNotFound(packageSubpath, packageJSONUrl, base); +} +function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +const flagSymbol = Symbol('arg flag'); + +class ArgError extends Error { + constructor(msg, code) { + super(msg); + this.name = 'ArgError'; + this.code = code; + + Object.setPrototypeOf(this, ArgError.prototype); + } +} + +function arg( + opts, + { + argv = process.argv.slice(2), + permissive = false, + stopAtPositional = false + } = {} +) { + if (!opts) { + throw new ArgError( + 'argument specification object is required', + 'ARG_CONFIG_NO_SPEC' + ); + } + + const result = { _: [] }; + + const aliases = {}; + const handlers = {}; + + for (const key of Object.keys(opts)) { + if (!key) { + throw new ArgError( + 'argument key cannot be an empty string', + 'ARG_CONFIG_EMPTY_KEY' + ); + } + + if (key[0] !== '-') { + throw new ArgError( + `argument key must start with '-' but found: '${key}'`, + 'ARG_CONFIG_NONOPT_KEY' + ); + } + + if (key.length === 1) { + throw new ArgError( + `argument key must have a name; singular '-' keys are not allowed: ${key}`, + 'ARG_CONFIG_NONAME_KEY' + ); + } + + if (typeof opts[key] === 'string') { + aliases[key] = opts[key]; + continue; + } + + let type = opts[key]; + let isFlag = false; + + if ( + Array.isArray(type) && + type.length === 1 && + typeof type[0] === 'function' + ) { + const [fn] = type; + type = (value, name, prev = []) => { + prev.push(fn(value, name, prev[prev.length - 1])); + return prev; + }; + isFlag = fn === Boolean || fn[flagSymbol] === true; + } else if (typeof type === 'function') { + isFlag = type === Boolean || type[flagSymbol] === true; + } else { + throw new ArgError( + `type missing or not a function or valid array type: ${key}`, + 'ARG_CONFIG_VAD_TYPE' + ); + } + + if (key[1] !== '-' && key.length > 2) { + throw new ArgError( + `short argument keys (with a single hyphen) must have only one character: ${key}`, + 'ARG_CONFIG_SHORTOPT_TOOLONG' + ); + } + + handlers[key] = [type, isFlag]; + } + + for (let i = 0, len = argv.length; i < len; i++) { + const wholeArg = argv[i]; + + if (stopAtPositional && result._.length > 0) { + result._ = result._.concat(argv.slice(i)); + break; + } + + if (wholeArg === '--') { + result._ = result._.concat(argv.slice(i + 1)); + break; + } + + if (wholeArg.length > 1 && wholeArg[0] === '-') { + /* eslint-disable operator-linebreak */ + const separatedArguments = + wholeArg[1] === '-' || wholeArg.length === 2 + ? [wholeArg] + : wholeArg + .slice(1) + .split('') + .map((a) => `-${a}`); + /* eslint-enable operator-linebreak */ + + for (let j = 0; j < separatedArguments.length; j++) { + const arg = separatedArguments[j]; + const [originalArgName, argStr] = + arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; + + let argName = originalArgName; + while (argName in aliases) { + argName = aliases[argName]; + } + + if (!(argName in handlers)) { + if (permissive) { + result._.push(arg); + continue; + } else { + throw new ArgError( + `unknown or unexpected option: ${originalArgName}`, + 'ARG_UNKNOWN_OPTION' + ); + } + } + + const [type, isFlag] = handlers[argName]; + + if (!isFlag && j + 1 < separatedArguments.length) { + throw new ArgError( + `option requires argument (but was followed by another short argument): ${originalArgName}`, + 'ARG_MISSING_REQUIRED_SHORTARG' + ); + } + + if (isFlag) { + result[argName] = type(true, argName, result[argName]); + } else if (argStr === undefined) { + if ( + argv.length < i + 2 || + (argv[i + 1].length > 1 && + argv[i + 1][0] === '-' && + !( + argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && + (type === Number || + // eslint-disable-next-line no-undef + (typeof BigInt !== 'undefined' && type === BigInt)) + )) + ) { + const extended = + originalArgName === argName ? '' : ` (alias for ${argName})`; + throw new ArgError( + `option requires argument: ${originalArgName}${extended}`, + 'ARG_MISSING_REQUIRED_LONGARG' + ); + } + + result[argName] = type(argv[i + 1], argName, result[argName]); + ++i; + } else { + result[argName] = type(argStr, argName, result[argName]); + } + } + } else { + result._.push(wholeArg); + } + } + + return result; +} + +arg.flag = (fn) => { + fn[flagSymbol] = true; + return fn; +}; + +// Utility types +arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); + +// Expose error class +arg.ArgError = ArgError; + +var arg_1 = arg; + +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + 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. +*/ +function getOptionValue(opt) { + parseOptions(); + return options[opt]; +} +let options; +function parseOptions() { + if (!options) { + options = { + "--conditions": [], + ...parseArgv(getNodeOptionsEnvArgv()), + ...parseArgv(process.execArgv) + }; + } +} +function parseArgv(argv) { + return arg_1( + { + "--conditions": [String], + "-C": "--conditions" + }, + { + argv, + permissive: true + } + ); +} +function getNodeOptionsEnvArgv() { + const errors = []; + const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); + if (errors.length !== 0) ; + return envArgv; +} +function ParseNodeOptionsEnvVar(node_options, errors) { + const env_argv = []; + let is_in_string = false; + let will_start_new_arg = true; + for (let index = 0; index < node_options.length; ++index) { + let c = node_options[index]; + if (c === "\\" && is_in_string) { + if (index + 1 === node_options.length) { + errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); + return env_argv; + } else { + c = node_options[++index]; + } + } else if (c === " " && !is_in_string) { + will_start_new_arg = true; + continue; + } else if (c === '"') { + is_in_string = !is_in_string; + continue; + } + if (will_start_new_arg) { + env_argv.push(c); + will_start_new_arg = false; + } else { + env_argv[env_argv.length - 1] += c; + } + } + if (is_in_string) { + errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); + } + return env_argv; +} + +function makeApi(runtimeState, opts) { + const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; + const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; + const isDirRegExp = /\/$/; + const isRelativeRegexp = /^\.{0,2}\//; + const topLevelLocator = { name: null, reference: null }; + const fallbackLocators = []; + const emittedWarnings = /* @__PURE__ */ new Set(); + if (runtimeState.enableTopLevelFallback === true) + fallbackLocators.push(topLevelLocator); + if (opts.compatibilityMode !== false) { + 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 }); + } + } + } + } + } + const { + ignorePattern, + packageRegistry, + packageLocatorsByLocations + } = runtimeState; + function makeLogEntry(name, args) { + return { + fn: name, + args, + error: null, + result: null + }; + } + function trace(entry) { + const colors = process.stderr?.hasColors?.() ?? process.stdout.isTTY; + const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; + const error = entry.error; + if (error) + console.error(c(`31;1`, `\u2716 ${entry.error?.message.replace(/\n.*/s, ``)}`)); + else + console.error(c(`33;1`, `\u203C Resolution`)); + if (entry.args.length > 0) + console.error(); + for (const arg of entry.args) + console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`); + if (entry.result) { + console.error(); + console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); + } + const stack = new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2) ?? []; + 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; + } + function getPackageInformationSafe(packageLocator) { + const packageInformation = getPackageInformation(packageLocator); + if (!packageInformation) { + throw 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; + } + 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 = /* @__PURE__ */ new Set([ + `node`, + `require`, + ...getOptionValue(`--conditions`) + ]); + function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) { + const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { + resolveIgnored: true, + includeDiscardFromLookup: true + }); + if (locator === null) { + throw 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`)); + if (pkgJson.exports == null) + return null; + let subpath = ppath.contains(packageLocation, unqualifiedPath); + if (subpath === null) { + throw makeError( + ErrorCode.INTERNAL, + `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` + ); + } + if (subpath !== `.` && !isRelativeRegexp.test(subpath)) + subpath = `./${subpath}`; + try { + const resolvedExport = packageExportsResolve({ + packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)), + packageSubpath: subpath, + exports: pkgJson.exports, + base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null, + conditions + }); + return npath.toPortablePath(url.fileURLToPath(resolvedExport)); + } catch (error) { + throw makeError( + ErrorCode.EXPORTS_RESOLUTION_FAILED, + error.message, + { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, + error.code + ); + } + } + function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { + let stat; + try { + candidates.push(unqualifiedPath); + stat = opts.fakeFs.statSync(unqualifiedPath); + } catch (error) { + } + if (stat && !stat.isDirectory()) + return opts.fakeFs.realpathSync(unqualifiedPath); + 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 (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { + const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); + if (resolution !== null) { + return resolution; + } + } + } + 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; + } + } + 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; + } + } + } + return null; + } + function makeFakeModule(path) { + const fakeModule = new require$$0.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = require$$0.Module._nodeModulePaths(path); + return fakeModule; + } + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) + issuer = ppath.join(issuer, `internal.js`); + return require$$0.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; + } + } + const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; + const topLevel = topLevelLocator; + function getPackageInformation({ name, reference }) { + const packageInformationStore = packageRegistry.get(name); + if (!packageInformationStore) + return null; + const packageInformation = packageInformationStore.get(reference); + if (!packageInformation) + return null; + return packageInformation; + } + 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; + if (dependentName === name && dependentReference === reference) + continue; + dependents.push({ + name: dependentName, + reference: dependentReference + }); + } + } + return dependents; + } + function findBrokenPeerDependencies(dependency, initialPackage) { + const brokenPackages = /* @__PURE__ */ new Map(); + const alreadyVisited = /* @__PURE__ */ 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 = /* @__PURE__ */ 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; + } + 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; + } + function tryReadFile(filePath) { + try { + return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } + } + function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { + if (request.startsWith(`#`)) + throw new Error(`resolveToUnqualified can not handle private import mappings`); + if (request === `pnpapi`) + return npath.toPortablePath(opts.pnpapiResolution); + if (considerBuiltins && require$$0.isBuiltin(request)) + return null; + const requestForDisplay = getPathForDisplay(request); + const issuerForDisplay = issuer && getPathForDisplay(issuer); + if (issuer && isPathIgnored(issuer)) { + if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw 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) + +Require request: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + } + let unqualifiedPath; + const dependencyNameMatch = request.match(pathRegExp); + if (!dependencyNameMatch) { + if (ppath.isAbsolute(request)) { + unqualifiedPath = ppath.normalize(request); + } else { + if (!issuer) { + throw 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 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 { + if (!issuer) { + throw 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 (!issuerLocator) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw 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). + +Require path: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + const issuerInformation = getPackageInformationSafe(issuerLocator); + let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); + let fallbackReference = null; + if (dependencyReference == null) { + if (issuerLocator.name !== null) { + 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; + } + } + } + } + } + } + let error = null; + if (dependencyReference === null) { + if (isDependencyTreeRoot(issuerLocator)) { + error = 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. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); + if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { + error = 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. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } else { + error = 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. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) + +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } + } + } else if (dependencyReference === void 0) { + if (!considerBuiltins && require$$0.isBuiltin(request)) { + if (isDependencyTreeRoot(issuerLocator)) { + error = 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. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = 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. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } else { + if (isDependencyTreeRoot(issuerLocator)) { + error = 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. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = 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. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { 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); + } + } + const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; + const dependencyInformation = getPackageInformationSafe(dependencyLocator); + if (!dependencyInformation.packageLocation) { + throw 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. + +Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } + ); + } + const dependencyLocation = dependencyInformation.packageLocation; + if (subPath) { + unqualifiedPath = ppath.join(dependencyLocation, subPath); + } else { + unqualifiedPath = dependencyLocation; + } + } + return ppath.normalize(unqualifiedPath); + } + function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) { + if (isStrictRegExp.test(request)) + return unqualifiedPath; + const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer); + if (unqualifiedExportPath) { + return ppath.normalize(unqualifiedExportPath); + } else { + return unqualifiedPath; + } + } + function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) { + const candidates = []; + const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); + if (qualifiedPath) { + return ppath.normalize(qualifiedPath); + } else { + reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate))); + const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); + const containingPackage = findPackageLocator(unqualifiedPath); + if (containingPackage) { + const { packageLocation } = getPackageInformationSafe(containingPackage); + let exists = true; + try { + opts.fakeFs.accessSync(packageLocation); + } catch (err) { + if (err?.code === `ENOENT`) { + exists = false; + } else { + const readableError = (err?.message ?? err ?? `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); + throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); + } + } + if (!exists) { + 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 makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `${errorMessage} + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${unqualifiedPathForDisplay} +${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} +`).join(``)}`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + function resolvePrivateRequest(request, issuer, opts2) { + if (!issuer) + throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); + const resolved = packageImportsResolve({ + name: request, + base: url.pathToFileURL(npath.fromPortablePath(issuer)), + conditions: opts2.conditions ?? defaultExportsConditions, + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL) { + return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolveRequest(resolved, issuer, opts2); + } + } + function resolveRequest(request, issuer, opts2 = {}) { + try { + if (request.startsWith(`#`)) + return resolvePrivateRequest(request, issuer, opts2); + const { considerBuiltins, extensions, conditions } = opts2; + const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); + if (request === `pnpapi`) + return unqualifiedPath; + if (unqualifiedPath === null) + return null; + const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; + const remappedPath = (!considerBuiltins || !require$$0.isBuiltin(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath; + return resolveUnqualified(remappedPath, { extensions }); + } catch (error) { + if (Object.hasOwn(error, `pnpCode`)) + Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); + throw error; + } + } + 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, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { + return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); + }), + resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); + 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; + } + }) + }; +} + +function makeManager(pnpapi, opts) { + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); + const apiMetadata = /* @__PURE__ */ new Map([ + [initialApiPath, { + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }] + ]); + function loadApiInstance(pnpApiPath) { + const nativePath = npath.fromPortablePath(pnpApiPath); + const module = new require$$0.Module(nativePath, null); + 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 information 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 = { + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + return apiEntry; + } + const findApiPathCache = /* @__PURE__ */ new Map(); + function addToCacheAndReturn(start, end, target) { + if (target !== null) { + target = VirtualFS.resolveVirtual(target); + target = opts.fakeFs.realpathSync(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; + 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(` +`); + throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. +This is usually caused by using the global cache (enableGlobalCache: true) + +Controlled by: +${controlSegment} +`); + } + const start = ppath.resolve(npath.toPortablePath(modulePath)); + let curr; + let next = start; + do { + curr = next; + const cached = findApiPathCache.get(curr); + if (cached !== void 0) + 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); + 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); + } + const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); + function getApiPathFromParent(parent) { + if (parent == null) + return initialApiPath; + let apiPath = moduleToApiPathCache.get(parent); + if (typeof apiPath !== `undefined`) + return apiPath; + apiPath = parent.filename ? findApiPathFor(parent.filename) : null; + moduleToApiPathCache.set(parent, apiPath); + return apiPath; + } + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} + +const localFs = { ...fs__default.default }; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +class DynamicFS extends ProxiedFS { + baseFs = defaultFsLayer; + constructor() { + super(ppath); + } + 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 = void 0, + 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 + }); + dynamicFsLayer.baseFs = new NodeFS(fs__default.default); + } +}); +manager = makeManager(defaultApi, { + fakeFs: dynamicFsLayer +}); +if (module.parent && module.parent.id === `internal/preload`) { + defaultApi.setup(); + if (module.filename) { + delete require$$0__default.default._cache[module.filename]; + } +} +if (process.mainModule === module) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} +`); + }; + const reportSuccess = (resolution) => { + process.stdout.write(`${JSON.stringify([null, resolution])} +`); + }; + 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]} +`); + process.exitCode = 64; + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new StringDecoder__default.default.StringDecoder(); + process.stdin.on(`data`, (chunk) => { + buffer += decoder.write(chunk); + do { + const index = buffer.indexOf(` +`); + if (index === -1) + break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} + +module.exports = defaultApi; diff --git a/benchmark/typescript/anagram/.pnp.loader.mjs b/benchmark/typescript/anagram/.pnp.loader.mjs new file mode 100644 index 0000000..e5a5429 --- /dev/null +++ b/benchmark/typescript/anagram/.pnp.loader.mjs @@ -0,0 +1,2126 @@ +/* eslint-disable */ +// @ts-nocheck + +import fs from 'fs'; +import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; +import path from 'path'; +import { createHash } from 'crypto'; +import { EOL } from 'os'; +import esmModule, { createRequire, isBuiltin } from 'module'; +import assert from 'assert'; + +const SAFE_TIME = 456789e3; + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const npath = Object.create(path); +const ppath = Object.create(path.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; +if (process.platform === `win32`) { + ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path.posix.resolve(...segments); + } else { + return path.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.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\/)?(.*)$/; +function fromPortablePathWin32(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, `\\`); +} +function toPortablePathWin32(p) { + p = p.replace(/\\/g, `/`); + 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; +} +const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; +const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +const defaultTimeMs = defaultTime.getTime(); +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 { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { + if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { + postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, 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); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { + const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); + const defaultMode = 420; + const sourceMode = sourceStat.mode & 511; + const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; + const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); + let AtomicBehavior; + ((AtomicBehavior2) => { + AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; + AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; + })(AtomicBehavior || (AtomicBehavior = {})); + let atomicBehavior = 1 /* Rename */; + let indexStat = await maybeLStat(destinationFs, indexPath); + if (destinationStat) { + const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; + const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; + if (isDestinationHardlinkedFromIndex) { + if (isIndexModified && linkStrategy.autoRepair) { + atomicBehavior = 0 /* Lock */; + indexStat = null; + } + } + if (!isDestinationHardlinkedFromIndex) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + } + const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; + let tempPathCleaned = false; + prelayout.push(async () => { + if (!indexStat) { + if (atomicBehavior === 0 /* Lock */) { + await destinationFs.lockPromise(indexPath, async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(indexPath, content); + }); + } + if (atomicBehavior === 1 /* Rename */ && tempPath) { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(tempPath, content); + try { + await destinationFs.linkPromise(tempPath, indexPath); + } catch (err) { + if (err.code === `EEXIST`) { + tempPathCleaned = true; + await destinationFs.unlinkPromise(tempPath); + } else { + throw err; + } + } + } + } + if (!destinationStat) { + await destinationFs.linkPromise(indexPath, destination); + } + }); + postlayout.push(async () => { + if (!indexStat) { + await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); + if (sourceMode !== defaultMode) { + await destinationFs.chmodPromise(indexPath, sourceMode); + } + } + if (tempPath && !tempPathCleaned) { + await destinationFs.unlinkPromise(tempPath); + } + }); + return false; +} +async function copyFileDirect(prelayout, postlayout, 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 () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(destination, content); + }); + return true; +} +async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (opts.linkStrategy?.type === `HardlinkFromIndex`) { + return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); + } else { + return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } +} +async function copySymlink(prelayout, postlayout, 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; +} + +class FakeFS { + pathUtils; + 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 entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async checksumFilePromise(path, { algorithm = `sha512` } = {}) { + const fd = await this.openPromise(path, `r`); + try { + const CHUNK_SIZE = 65536; + const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); + const hash = createHash(algorithm); + let bytesRead = 0; + while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) + hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); + return hash.digest(`hex`); + } finally { + await this.closePromise(fd); + } + } + 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)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } 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 void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + 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; + } + } + createdDirectory ??= subPath; + 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); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + 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; + } + } + createdDirectory ??= subPath; + 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); + } + } + } + return createdDirectory; + } + 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 & 511; + 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) { + } + 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) { + } + 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) { + } + 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) { + } + 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 = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + 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 (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + 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 { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + 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, { compact = false } = {}) { + const space = compact ? 0 : 2; + return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} +`); + } + writeJsonSync(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return this.writeFileSync(p, `${JSON.stringify(data, null, space)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + await this.lutimesPromise(p, stat.atime, stat.mtime); + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + this.lutimesSync(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 EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +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); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + 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 lutimesPromise(p, atime, mtime) { + return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); + } + lutimesSync(p, atime, mtime) { + return this.baseFs.lutimesSync(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 rmPromise(p, opts) { + return this.baseFs.rmPromise(this.mapToBase(p), opts); + } + rmSync(p, opts) { + return this.baseFs.rmSync(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) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + readFileSync(p, encoding) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + 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); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, 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); + } + } +} + +function direntToPortable(dirent) { + const portableDirent = dirent; + if (typeof dirent.path === `string`) + portableDirent.path = npath.toPortablePath(dirent.path); + return portableDirent; +} +class NodeFS extends BasePortableFakeFS { + realFs; + constructor(realFs = fs) { + super(); + this.realFs = realFs; + } + 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) => { + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + } + 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) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + 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) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + 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 fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + 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 lutimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSync(p, atime, mtime) { + this.realFs.lutimesSync(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) => { + 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 rmPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rm(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rm(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmSync(p, opts) { + return this.realFs.rmSync(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) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + readdirSync(p, opts) { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts); + } + } 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); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, 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); + } + }; + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + 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`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + 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)); + } + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + 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; + } +} + +const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? URL$1 : globalThis.URL; + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; +const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3; +const SUPPORTS_IMPORT_ATTRIBUTES = major >= 21 || major === 20 && minor >= 10 || major === 18 && minor >= 20; +const SUPPORTS_IMPORT_ATTRIBUTES_ONLY = major >= 22; + +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; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs.existsSync(jsonPath)) + return null; + return JSON.parse(fs.readFileSync(jsonPath, `utf8`)); +} + +async function tryReadFile$1(path2) { + try { + return await fs.promises.readFile(path2, `utf8`); + } catch (error) { + if (error.code === `ENOENT`) + return null; + throw error; + } +} +function tryParseURL(str, base) { + try { + return new URL(str, base); + } catch { + return null; + } +} +let entrypointPath = null; +function setEntrypointPath(file) { + entrypointPath = file; +} +function getFileFormat(filepath) { + const ext = path.extname(filepath); + switch (ext) { + case `.mjs`: { + return `module`; + } + case `.cjs`: { + return `commonjs`; + } + case `.wasm`: { + throw new Error( + `Unknown file extension ".wasm" for ${filepath}` + ); + } + case `.json`: { + return `json`; + } + case `.js`: { + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + return pkg.data.type ?? `commonjs`; + } + default: { + if (entrypointPath !== filepath) + return null; + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + if (pkg.data.type === `module`) + return null; + return pkg.data.type ?? `commonjs`; + } + } +} + +async function load$1(urlString, context, nextLoad) { + const url = tryParseURL(urlString); + if (url?.protocol !== `file:`) + return nextLoad(urlString, context, nextLoad); + const filePath = fileURLToPath(url); + const format = getFileFormat(filePath); + if (!format) + return nextLoad(urlString, context, nextLoad); + if (format === `json`) { + if (SUPPORTS_IMPORT_ATTRIBUTES_ONLY) { + if (context.importAttributes?.type !== `json`) { + const err = new TypeError(`[ERR_IMPORT_ATTRIBUTE_MISSING]: Module "${urlString}" needs an import attribute of "type: json"`); + err.code = `ERR_IMPORT_ATTRIBUTE_MISSING`; + throw err; + } + } else { + const type = `importAttributes` in context ? context.importAttributes?.type : context.importAssertions?.type; + if (type !== `json`) { + const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import ${SUPPORTS_IMPORT_ATTRIBUTES ? `attribute` : `assertion`} of type "json"`); + err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`; + throw err; + } + } + } + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + const pathToSend = pathToFileURL( + npath.fromPortablePath( + VirtualFS.resolveVirtual(npath.toPortablePath(filePath)) + ) + ).href; + process.send({ + "watch:import": WATCH_MODE_MESSAGE_USES_ARRAYS ? [pathToSend] : pathToSend + }); + } + return { + format, + source: format === `commonjs` ? void 0 : await fs.promises.readFile(filePath, `utf8`), + shortCircuit: true + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && fileURLToPath(new URL(".", packageJSONUrl)), + fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) return -1; + if (baseLenB > baseLenA) return 1; + if (aPatternIndex === -1) return 1; + if (bPatternIndex === -1) return -1; + if (a.length > b.length) return -1; + if (b.length > a.length) return 1; + return 0; +} +function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +let findPnpApi = esmModule.findPnpApi; +if (!findPnpApi) { + const require = createRequire(import.meta.url); + const pnpApi = require(`./.pnp.cjs`); + pnpApi.setup(); + findPnpApi = esmModule.findPnpApi; +} +const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; +const isRelativeRegexp = /^\.{0,2}\//; +function tryReadFile(filePath) { + try { + return fs.readFileSync(filePath, `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } +} +async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { + const resolved = packageImportsResolve({ + name: specifier, + base: pathToFileURL(issuer), + conditions: new Set(context.conditions), + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL) { + return { url: resolved.href, shortCircuit: true }; + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolve$1(resolved, context, nextResolve); + } +} +async function resolve$1(originalSpecifier, context, nextResolve) { + if (!findPnpApi || isBuiltin(originalSpecifier)) + return nextResolve(originalSpecifier, context, nextResolve); + let specifier = originalSpecifier; + const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0); + if (url) { + if (url.protocol !== `file:`) + return nextResolve(originalSpecifier, context, nextResolve); + specifier = fileURLToPath(url); + } + const { parentURL, conditions = [] } = context; + const issuer = parentURL && tryParseURL(parentURL)?.protocol === `file:` ? fileURLToPath(parentURL) : process.cwd(); + const pnpapi = findPnpApi(issuer) ?? (url ? findPnpApi(specifier) : null); + if (!pnpapi) + return nextResolve(originalSpecifier, context, nextResolve); + if (specifier.startsWith(`#`)) + return resolvePrivateRequest(specifier, issuer, context, nextResolve); + const dependencyNameMatch = specifier.match(pathRegExp); + let allowLegacyResolve = false; + if (dependencyNameMatch) { + const [, dependencyName, subPath] = dependencyNameMatch; + if (subPath === `` && dependencyName !== `pnpapi`) { + const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); + if (resolved) { + const content = await tryReadFile$1(resolved); + if (content) { + const pkg = JSON.parse(content); + allowLegacyResolve = pkg.exports == null; + } + } + } + } + let result; + try { + result = pnpapi.resolveRequest(specifier, issuer, { + conditions: new Set(conditions), + // TODO: Handle --experimental-specifier-resolution=node + extensions: allowLegacyResolve ? void 0 : [] + }); + } catch (err) { + if (err instanceof Error && `code` in err && err.code === `MODULE_NOT_FOUND`) + err.code = `ERR_MODULE_NOT_FOUND`; + throw err; + } + if (!result) + throw new Error(`Resolving '${specifier}' from '${issuer}' failed`); + const resultURL = pathToFileURL(result); + if (url) { + resultURL.search = url.search; + resultURL.hash = url.hash; + } + if (!parentURL) + setEntrypointPath(fileURLToPath(resultURL)); + return { + url: resultURL.href, + shortCircuit: true + }; +} + +if (!HAS_LAZY_LOADED_TRANSLATORS) { + const binding = process.binding(`fs`); + const originalReadFile = binding.readFileUtf8 || binding.readFileSync; + if (originalReadFile) { + binding[originalReadFile.name] = function(...args) { + try { + return fs.readFileSync(args[0], { + encoding: `utf8`, + // @ts-expect-error - The docs says it needs to be a string but + // links to https://nodejs.org/dist/latest-v20.x/docs/api/fs.html#file-system-flags + // which says it can be a number which matches the implementation. + flag: args[1] + }); + } catch { + } + return originalReadFile.apply(this, args); + }; + } else { + const binding2 = process.binding(`fs`); + const originalfstat = binding2.fstat; + const ZIP_MASK = 4278190080; + const ZIP_MAGIC = 704643072; + binding2.fstat = function(...args) { + const [fd, useBigint, req] = args; + if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) { + try { + const stats = fs.fstatSync(fd); + return new Float64Array([ + stats.dev, + stats.mode, + stats.nlink, + stats.uid, + stats.gid, + stats.rdev, + stats.blksize, + stats.ino, + stats.size, + stats.blocks + // atime sec + // atime ns + // mtime sec + // mtime ns + // ctime sec + // ctime ns + // birthtime sec + // birthtime ns + ]); + } catch { + } + } + return originalfstat.apply(this, args); + }; + } +} + +const resolve = resolve$1; +const load = load$1; + +export { load, resolve }; diff --git a/benchmark/typescript/anagram/.yarn/install-state.gz b/benchmark/typescript/anagram/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..62978286fa027f724fe5e59d86d0e32e57435c37 GIT binary patch literal 693556 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 z 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%0AyMzRp*74Y?AZII}GC>J+ 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�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�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 z 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 literal 0 HcmV?d00001 diff --git a/src/test/extension.test.ts b/src/test/extension.test.ts index 975b5d9..56ce9c8 100644 --- a/src/test/extension.test.ts +++ b/src/test/extension.test.ts @@ -2,9 +2,9 @@ import * as assert from "assert" import * as vscode from "vscode" suite("Roo Code Extension", () => { - test("OPEN_ROUTER_API_KEY environment variable is set", () => { - if (!process.env.OPEN_ROUTER_API_KEY) { - assert.fail("OPEN_ROUTER_API_KEY environment variable is not set") + test("OPENROUTER_API_KEY environment variable is set", () => { + if (!process.env.OPENROUTER_API_KEY) { + assert.fail("OPENROUTER_API_KEY environment variable is not set") } }) diff --git a/src/test/task.test.ts b/src/test/task.test.ts index d670088..976e3bb 100644 --- a/src/test/task.test.ts +++ b/src/test/task.test.ts @@ -29,10 +29,10 @@ suite("Roo Code Task", () => { await provider.updateGlobalState("apiProvider", "openrouter") await provider.updateGlobalState("openRouterModelId", "anthropic/claude-3.5-sonnet") - const apiKey = process.env.OPEN_ROUTER_API_KEY + const apiKey = process.env.OPENROUTER_API_KEY if (!apiKey) { - assert.fail("OPEN_ROUTER_API_KEY environment variable is not set") + assert.fail("OPENROUTER_API_KEY environment variable is not set") } await provider.storeSecret("openRouterApiKey", apiKey) From 79c248be2a6c8f4e826124e4e3a06ba0f462f3c9 Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 16:37:23 -0800 Subject: [PATCH 30/67] Get rid of type change, improve detection of webview initialization --- src/core/webview/ClineProvider.ts | 8 ++- src/test/task.test.ts | 85 ++----------------------------- 2 files changed, 12 insertions(+), 81 deletions(-) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 671ecd8..3daf0d3 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -132,6 +132,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { private static activeInstances: Set = new Set() private disposables: vscode.Disposable[] = [] private view?: vscode.WebviewView | vscode.WebviewPanel + private isViewLaunched = false private cline?: Cline private workspaceTracker?: WorkspaceTracker mcpHub?: McpHub @@ -396,7 +397,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { ) } - public async postMessageToWebview(message: ExtensionMessage | WebviewMessage) { + public async postMessageToWebview(message: ExtensionMessage) { await this.view?.webview.postMessage(message) } @@ -644,6 +645,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { ), ) + this.isViewLaunched = true break case "newTask": // Code that should run in response to the hello message command @@ -2471,6 +2473,10 @@ export class ClineProvider implements vscode.WebviewViewProvider { // integration tests + get viewLaunched() { + return this.isViewLaunched + } + get messages() { return this.cline?.clineMessages || [] } diff --git a/src/test/task.test.ts b/src/test/task.test.ts index 976e3bb..cda766c 100644 --- a/src/test/task.test.ts +++ b/src/test/task.test.ts @@ -16,109 +16,35 @@ suite("Roo Code Task", () => { } const api: ClineAPI = await extension.activate() - - if (!api) { - assert.fail("Extension API not found") - } - const provider = api.sidebarProvider as ClineProvider - - if (!provider) { - assert.fail("Provider not found") - } - await provider.updateGlobalState("apiProvider", "openrouter") await provider.updateGlobalState("openRouterModelId", "anthropic/claude-3.5-sonnet") - const apiKey = process.env.OPENROUTER_API_KEY - - if (!apiKey) { - assert.fail("OPENROUTER_API_KEY environment variable is not set") - } - - await provider.storeSecret("openRouterApiKey", apiKey) + await provider.storeSecret("openRouterApiKey", process.env.OPENROUTER_API_KEY || "sk-or-v1-fake-api-key") // Create webview panel with development options. - const extensionUri = extension.extensionUri - const panel = vscode.window.createWebviewPanel("roo-cline.SidebarProvider", "Roo Code", vscode.ViewColumn.One, { enableScripts: true, enableCommandUris: true, retainContextWhenHidden: true, - localResourceRoots: [extensionUri], + localResourceRoots: [extension.extensionUri], }) try { - // Initialize webview with development context. - panel.webview.options = { - enableScripts: true, - enableCommandUris: true, - localResourceRoots: [extensionUri], - } - // Initialize provider with panel. provider.resolveWebviewView(panel) - // Set up message tracking. - let webviewReady = false - const originalPostMessage = provider.postMessageToWebview.bind(provider) - - provider.postMessageToWebview = async (message: any) => { - if (message.type === "state") { - webviewReady = true - } - - await originalPostMessage(message) - } - - // Wait for webview to launch and receive initial state. + // Wait for webview to launch. let startTime = Date.now() while (Date.now() - startTime < timeout) { - if (webviewReady) { - // Wait an additional second for webview to fully initialize. - await new Promise((resolve) => setTimeout(resolve, 1000)) + if (provider.viewLaunched) { break } await new Promise((resolve) => setTimeout(resolve, interval)) } - if (!webviewReady) { - assert.fail("Webview never became ready") - } - - // Send webviewDidLaunch to initialize chat. - await provider.postMessageToWebview({ type: "webviewDidLaunch" }) - - // Wait for webview to fully initialize. - await new Promise((resolve) => setTimeout(resolve, 2000)) - - // Restore original postMessage. - provider.postMessageToWebview = originalPostMessage - - // Wait for OpenRouter models to be fully loaded. - startTime = Date.now() - - while (Date.now() - startTime < timeout) { - const models = await provider.readOpenRouterModels() - - if (models && Object.keys(models).length > 0) { - break - } - - await new Promise((resolve) => setTimeout(resolve, interval)) - } - - // Send prompt. - const prompt = "Hello world, what is your name? Respond with 'My name is ...'" - - // Start task. - try { - await api.startNewTask(prompt) - } catch (error) { - console.error(error) - assert.fail("Error starting task") - } + await api.startNewTask("Hello world, what is your name? Respond with 'My name is ...'") // Wait for task to appear in history with tokens. startTime = Date.now() @@ -128,7 +54,6 @@ suite("Roo Code Task", () => { const task = state.taskHistory?.[0] if (task && task.tokensOut > 0) { - // console.log("Task completed with tokens:", task) break } From bb3bdf812173fc51802677ebcc24f80540bf0f1a Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 16:39:13 -0800 Subject: [PATCH 31/67] Oops --- benchmark/typescript/anagram/.pnp.cjs | 16642 ---------------- benchmark/typescript/anagram/.pnp.loader.mjs | 2126 -- .../typescript/anagram/.yarn/install-state.gz | Bin 693556 -> 0 bytes 3 files changed, 18768 deletions(-) delete mode 100755 benchmark/typescript/anagram/.pnp.cjs delete mode 100644 benchmark/typescript/anagram/.pnp.loader.mjs delete mode 100644 benchmark/typescript/anagram/.yarn/install-state.gz diff --git a/benchmark/typescript/anagram/.pnp.cjs b/benchmark/typescript/anagram/.pnp.cjs deleted file mode 100755 index ff7466d..0000000 --- a/benchmark/typescript/anagram/.pnp.cjs +++ /dev/null @@ -1,16642 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -// @ts-nocheck -"use strict"; - -const RAW_RUNTIME_STATE = -'{\ - "__info": [\ - "This file is automatically generated. Do not touch it, or risk",\ - "your modifications being lost."\ - ],\ - "dependencyTreeRoots": [\ - {\ - "name": "@exercism/typescript-anagram",\ - "reference": "workspace:."\ - }\ - ],\ - "enableTopLevelFallback": true,\ - "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ - "fallbackExclusionList": [\ - ["@exercism/typescript-anagram", ["workspace:."]]\ - ],\ - "fallbackPool": [\ - ],\ - "packageRegistryData": [\ - [null, [\ - [null, {\ - "packageLocation": "./",\ - "packageDependencies": [\ - ["@exercism/babel-preset-typescript", "npm:0.6.0"],\ - ["@exercism/eslint-config-typescript", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:0.8.0"],\ - ["@jest/globals", "npm:29.7.0"],\ - ["@types/node", "npm:22.7.9"],\ - ["babel-jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ - ["core-js", "npm:3.38.1"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["expect", "npm:29.7.0"],\ - ["jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ - ["prettier", "npm:3.4.2"],\ - ["tstyche", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:2.1.1"],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"],\ - ["typescript-eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0"]\ - ],\ - "linkType": "SOFT"\ - }]\ - ]],\ - ["@ampproject/remapping", [\ - ["npm:2.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@ampproject-remapping-npm-2.3.0-559c14eee4-10.zip/node_modules/@ampproject/remapping/",\ - "packageDependencies": [\ - ["@ampproject/remapping", "npm:2.3.0"],\ - ["@jridgewell/gen-mapping", "npm:0.3.8"],\ - ["@jridgewell/trace-mapping", "npm:0.3.25"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/code-frame", [\ - ["npm:7.26.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-code-frame-npm-7.26.2-4902b56813-10.zip/node_modules/@babel/code-frame/",\ - "packageDependencies": [\ - ["@babel/code-frame", "npm:7.26.2"],\ - ["@babel/helper-validator-identifier", "npm:7.25.9"],\ - ["js-tokens", "npm:4.0.0"],\ - ["picocolors", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/compat-data", [\ - ["npm:7.26.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-compat-data-npm-7.26.5-b6047aeefb-10.zip/node_modules/@babel/compat-data/",\ - "packageDependencies": [\ - ["@babel/compat-data", "npm:7.26.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/core", [\ - ["npm:7.26.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-core-npm-7.26.7-7cf6c69e74-10.zip/node_modules/@babel/core/",\ - "packageDependencies": [\ - ["@babel/core", "npm:7.26.7"],\ - ["@ampproject/remapping", "npm:2.3.0"],\ - ["@babel/code-frame", "npm:7.26.2"],\ - ["@babel/generator", "npm:7.26.5"],\ - ["@babel/helper-compilation-targets", "npm:7.26.5"],\ - ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ - ["@babel/helpers", "npm:7.26.7"],\ - ["@babel/parser", "npm:7.26.7"],\ - ["@babel/template", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"],\ - ["convert-source-map", "npm:2.0.0"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["gensync", "npm:1.0.0-beta.2"],\ - ["json5", "npm:2.2.3"],\ - ["semver", "npm:6.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/generator", [\ - ["npm:7.26.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-generator-npm-7.26.5-8de063382c-10.zip/node_modules/@babel/generator/",\ - "packageDependencies": [\ - ["@babel/generator", "npm:7.26.5"],\ - ["@babel/parser", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"],\ - ["@jridgewell/gen-mapping", "npm:0.3.8"],\ - ["@jridgewell/trace-mapping", "npm:0.3.25"],\ - ["jsesc", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-annotate-as-pure", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-annotate-as-pure-npm-7.25.9-a0f89e14a0-10.zip/node_modules/@babel/helper-annotate-as-pure/",\ - "packageDependencies": [\ - ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-compilation-targets", [\ - ["npm:7.26.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-compilation-targets-npm-7.26.5-e3b4215b3c-10.zip/node_modules/@babel/helper-compilation-targets/",\ - "packageDependencies": [\ - ["@babel/helper-compilation-targets", "npm:7.26.5"],\ - ["@babel/compat-data", "npm:7.26.5"],\ - ["@babel/helper-validator-option", "npm:7.25.9"],\ - ["browserslist", "npm:4.24.4"],\ - ["lru-cache", "npm:5.1.1"],\ - ["semver", "npm:6.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-create-class-features-plugin", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-create-class-features-plugin-npm-7.25.9-1efda825e9-10.zip/node_modules/@babel/helper-create-class-features-plugin/",\ - "packageDependencies": [\ - ["@babel/helper-create-class-features-plugin", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-helper-create-class-features-plugin-virtual-8f08b49708/6/.yarn/berry/cache/@babel-helper-create-class-features-plugin-npm-7.25.9-1efda825e9-10.zip/node_modules/@babel/helper-create-class-features-plugin/",\ - "packageDependencies": [\ - ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ - ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ - ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ - ["@babel/helper-replace-supers", "virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5"],\ - ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null],\ - ["semver", "npm:6.3.1"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-create-regexp-features-plugin", [\ - ["npm:7.26.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-create-regexp-features-plugin-npm-7.26.3-834c0b262a-10.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ - "packageDependencies": [\ - ["@babel/helper-create-regexp-features-plugin", "npm:7.26.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-f08dcd7edd/6/.yarn/berry/cache/@babel-helper-create-regexp-features-plugin-npm-7.26.3-834c0b262a-10.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ - "packageDependencies": [\ - ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ - ["@types/babel__core", null],\ - ["regexpu-core", "npm:6.2.0"],\ - ["semver", "npm:6.3.1"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-define-polyfill-provider", [\ - ["npm:0.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-define-polyfill-provider-npm-0.6.3-211720cbc0-10.zip/node_modules/@babel/helper-define-polyfill-provider/",\ - "packageDependencies": [\ - ["@babel/helper-define-polyfill-provider", "npm:0.6.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-c2a179de32/6/.yarn/berry/cache/@babel-helper-define-polyfill-provider-npm-0.6.3-211720cbc0-10.zip/node_modules/@babel/helper-define-polyfill-provider/",\ - "packageDependencies": [\ - ["@babel/helper-define-polyfill-provider", "virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-compilation-targets", "npm:7.26.5"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["lodash.debounce", "npm:4.0.8"],\ - ["resolve", "patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-member-expression-to-functions", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-member-expression-to-functions-npm-7.25.9-761e6fec27-10.zip/node_modules/@babel/helper-member-expression-to-functions/",\ - "packageDependencies": [\ - ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-module-imports", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-10.zip/node_modules/@babel/helper-module-imports/",\ - "packageDependencies": [\ - ["@babel/helper-module-imports", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-module-transforms", [\ - ["npm:7.26.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-10.zip/node_modules/@babel/helper-module-transforms/",\ - "packageDependencies": [\ - ["@babel/helper-module-transforms", "npm:7.26.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0", {\ - "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-66ed0daf54/6/.yarn/berry/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-10.zip/node_modules/@babel/helper-module-transforms/",\ - "packageDependencies": [\ - ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-module-imports", "npm:7.25.9"],\ - ["@babel/helper-validator-identifier", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-optimise-call-expression", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-optimise-call-expression-npm-7.25.9-d8006fbada-10.zip/node_modules/@babel/helper-optimise-call-expression/",\ - "packageDependencies": [\ - ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-plugin-utils", [\ - ["npm:7.26.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-plugin-utils-npm-7.26.5-f9c17c9880-10.zip/node_modules/@babel/helper-plugin-utils/",\ - "packageDependencies": [\ - ["@babel/helper-plugin-utils", "npm:7.26.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-remap-async-to-generator", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-remap-async-to-generator-npm-7.25.9-80702863ff-10.zip/node_modules/@babel/helper-remap-async-to-generator/",\ - "packageDependencies": [\ - ["@babel/helper-remap-async-to-generator", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:ba8ad0405b09513ce4e85736277d747179c5276ea6548459e4421a37aa71e1c6c9806f2030a96ad7cb0fc7ab48e9196a6702cce25ecb32087cad8180c865bf61#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-helper-remap-async-to-generator-virtual-477d0d60dd/6/.yarn/berry/cache/@babel-helper-remap-async-to-generator-npm-7.25.9-80702863ff-10.zip/node_modules/@babel/helper-remap-async-to-generator/",\ - "packageDependencies": [\ - ["@babel/helper-remap-async-to-generator", "virtual:ba8ad0405b09513ce4e85736277d747179c5276ea6548459e4421a37aa71e1c6c9806f2030a96ad7cb0fc7ab48e9196a6702cce25ecb32087cad8180c865bf61#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ - ["@babel/helper-wrap-function", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-replace-supers", [\ - ["npm:7.26.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-replace-supers-npm-7.26.5-4b002f04c0-10.zip/node_modules/@babel/helper-replace-supers/",\ - "packageDependencies": [\ - ["@babel/helper-replace-supers", "npm:7.26.5"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-e3b2b13fd4/6/.yarn/berry/cache/@babel-helper-replace-supers-npm-7.26.5-4b002f04c0-10.zip/node_modules/@babel/helper-replace-supers/",\ - "packageDependencies": [\ - ["@babel/helper-replace-supers", "virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ - ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-skip-transparent-expression-wrappers", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.25.9-215072fae0-10.zip/node_modules/@babel/helper-skip-transparent-expression-wrappers/",\ - "packageDependencies": [\ - ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-string-parser", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-10.zip/node_modules/@babel/helper-string-parser/",\ - "packageDependencies": [\ - ["@babel/helper-string-parser", "npm:7.25.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-validator-identifier", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-10.zip/node_modules/@babel/helper-validator-identifier/",\ - "packageDependencies": [\ - ["@babel/helper-validator-identifier", "npm:7.25.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-validator-option", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-validator-option-npm-7.25.9-6450027d5d-10.zip/node_modules/@babel/helper-validator-option/",\ - "packageDependencies": [\ - ["@babel/helper-validator-option", "npm:7.25.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-wrap-function", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helper-wrap-function-npm-7.25.9-bbd361fe46-10.zip/node_modules/@babel/helper-wrap-function/",\ - "packageDependencies": [\ - ["@babel/helper-wrap-function", "npm:7.25.9"],\ - ["@babel/template", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helpers", [\ - ["npm:7.26.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-helpers-npm-7.26.7-284c12b13e-10.zip/node_modules/@babel/helpers/",\ - "packageDependencies": [\ - ["@babel/helpers", "npm:7.26.7"],\ - ["@babel/template", "npm:7.25.9"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/node", [\ - ["npm:7.26.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-node-npm-7.26.0-a7332a2fdc-10.zip/node_modules/@babel/node/",\ - "packageDependencies": [\ - ["@babel/node", "npm:7.26.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0", {\ - "packageLocation": "./.yarn/__virtual__/@babel-node-virtual-495d1fe58a/6/.yarn/berry/cache/@babel-node-npm-7.26.0-a7332a2fdc-10.zip/node_modules/@babel/node/",\ - "packageDependencies": [\ - ["@babel/node", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/register", "virtual:495d1fe58a5940bbe6ad23c1da3ac225f191a10151292e2a512b89a882156dc81abe56f2b01722e6495421b7baa2b8c7f6e0182b3e50a07d7b825013dbb11cf9#npm:7.25.9"],\ - ["@types/babel__core", null],\ - ["commander", "npm:6.2.1"],\ - ["core-js", "npm:3.40.0"],\ - ["node-environment-flags", "npm:1.0.6"],\ - ["regenerator-runtime", "npm:0.14.1"],\ - ["v8flags", "npm:3.2.0"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/parser", [\ - ["npm:7.26.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-parser-npm-7.26.7-ef2912fba4-10.zip/node_modules/@babel/parser/",\ - "packageDependencies": [\ - ["@babel/parser", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.25.9-8b41c5edab-10.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-firefox-class-in-computed-class-key-virtual-070d84c7d4/6/.yarn/berry/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.25.9-8b41c5edab-10.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-bugfix-safari-class-field-initializer-scope", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-safari-class-field-initializer-scope-npm-7.25.9-0004436a46-10.zip/node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-class-field-initializer-scope-virtual-bb235a498d/6/.yarn/berry/cache/@babel-plugin-bugfix-safari-class-field-initializer-scope-npm-7.25.9-0004436a46-10.zip/node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.25.9-06267b0121-10.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-virtual-8f9f0dc47d/6/.yarn/berry/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.25.9-06267b0121-10.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.25.9-ae4964ca70-10.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-virtual-bcf3276297/6/.yarn/berry/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.25.9-ae4964ca70-10.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ - ["@babel/plugin-transform-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.25.9-dce7f49c0f-10.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-virtual-6b74de8673/6/.yarn/berry/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.25.9-dce7f49c0f-10.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ - "packageDependencies": [\ - ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-proposal-private-property-in-object", [\ - ["npm:7.21.0-placeholder-for-preset-env.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-10.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ - "packageDependencies": [\ - ["@babel/plugin-proposal-private-property-in-object", "npm:7.21.0-placeholder-for-preset-env.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.21.0-placeholder-for-preset-env.2", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-private-property-in-object-virtual-622b31d5cc/6/.yarn/berry/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-10.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ - "packageDependencies": [\ - ["@babel/plugin-proposal-private-property-in-object", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.21.0-placeholder-for-preset-env.2"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-async-generators", [\ - ["npm:7.8.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-async-generators", "npm:7.8.4"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-993f7fd03e/6/.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-async-generators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.4"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-137a5a5217/6/.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-async-generators", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.4"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-0939af92ac/6/.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-async-generators", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.4"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-bigint", [\ - ["npm:7.8.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-bigint", "npm:7.8.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-58d7bec2f4/6/.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-bigint", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-2bef79cffa/6/.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-bigint", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-84e473c8d4/6/.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-bigint", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-class-properties", [\ - ["npm:7.12.13", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-class-properties", "npm:7.12.13"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.12.13", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-7c6db10d10/6/.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-class-properties", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.12.13"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.12.13", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-08296452fd/6/.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-class-properties", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.12.13"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.12.13", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-3059fc0dad/6/.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-class-properties", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.12.13"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-class-static-block", [\ - ["npm:7.14.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-class-static-block", "npm:7.14.5"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-bde8a43daf/6/.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-class-static-block", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-23a53572aa/6/.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-class-static-block", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-40be2fe21e/6/.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-class-static-block", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-import-assertions", [\ - ["npm:7.26.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-import-assertions-npm-7.26.0-6c9b84570c-10.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-assertions", "npm:7.26.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-assertions-virtual-7b2764ee46/6/.yarn/berry/cache/@babel-plugin-syntax-import-assertions-npm-7.26.0-6c9b84570c-10.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-assertions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-import-attributes", [\ - ["npm:7.26.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-attributes", "npm:7.26.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.26.0", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-04edc885d2/6/.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-attributes", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.26.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.26.0", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-2fc2b7eee5/6/.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-attributes", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.26.0"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-0e3c5807ff/6/.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-attributes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-import-meta", [\ - ["npm:7.10.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-meta", "npm:7.10.4"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-0f69c506d3/6/.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-meta", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-9f0b0a193f/6/.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-meta", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-a0e09731a9/6/.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-import-meta", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-json-strings", [\ - ["npm:7.8.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-json-strings", "npm:7.8.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-070ad1091b/6/.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-json-strings", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-6d6d7c4d3c/6/.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-json-strings", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-2ab87c288e/6/.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-json-strings", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-jsx", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-jsx-npm-7.25.9-3df022f433-10.zip/node_modules/@babel/plugin-syntax-jsx/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-jsx", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-4e04a6c2b9/6/.yarn/berry/cache/@babel-plugin-syntax-jsx-npm-7.25.9-3df022f433-10.zip/node_modules/@babel/plugin-syntax-jsx/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-jsx", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-logical-assignment-operators", [\ - ["npm:7.10.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-logical-assignment-operators", "npm:7.10.4"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-ff68e11bd5/6/.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-logical-assignment-operators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-97bf1046cd/6/.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-logical-assignment-operators", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-dde3f84fd7/6/.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-logical-assignment-operators", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-nullish-coalescing-operator", [\ - ["npm:7.8.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-nullish-coalescing-operator", "npm:7.8.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-383b231c23/6/.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-6c86f5f233/6/.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-3d3c777f3d/6/.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-numeric-separator", [\ - ["npm:7.10.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-numeric-separator", "npm:7.10.4"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-a60ecf78fb/6/.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-numeric-separator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-726d9ccd79/6/.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-numeric-separator", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-1861d4af9f/6/.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-numeric-separator", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-object-rest-spread", [\ - ["npm:7.8.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-object-rest-spread", "npm:7.8.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-0311abb51d/6/.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-object-rest-spread", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-a76ac8a399/6/.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-object-rest-spread", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-045975f376/6/.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-object-rest-spread", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-optional-catch-binding", [\ - ["npm:7.8.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-optional-catch-binding", "npm:7.8.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-d5627250c6/6/.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-optional-catch-binding", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-d70305b5ff/6/.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-optional-catch-binding", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-2bb429ccbf/6/.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-optional-catch-binding", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-optional-chaining", [\ - ["npm:7.8.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-optional-chaining", "npm:7.8.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-a53e18a8d9/6/.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-optional-chaining", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-b570384211/6/.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-optional-chaining", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-3e2c8fdb8a/6/.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-optional-chaining", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-private-property-in-object", [\ - ["npm:7.14.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-private-property-in-object", "npm:7.14.5"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-9c5d44fe2f/6/.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-private-property-in-object", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-90122d6a77/6/.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-private-property-in-object", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-8951b4c744/6/.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-private-property-in-object", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-top-level-await", [\ - ["npm:7.14.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-top-level-await", "npm:7.14.5"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-245beac28c/6/.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-top-level-await", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-2e17cd0813/6/.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-top-level-await", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-8fd06d9c75/6/.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-top-level-await", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ - ["@babel/core", null],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-typescript", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-typescript-npm-7.25.9-5201e4ba77-10.zip/node_modules/@babel/plugin-syntax-typescript/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-typescript", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:d391f3127bb3776a0d98f197f9da76204acb6865dc272a9880ffdb86ff33723ba790095479b0edef6d565f1c286e4accaa75aeb28f32e663b67a8f8a37705176#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-typescript-virtual-d90940cc07/6/.yarn/berry/cache/@babel-plugin-syntax-typescript-npm-7.25.9-5201e4ba77-10.zip/node_modules/@babel/plugin-syntax-typescript/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-typescript", "virtual:d391f3127bb3776a0d98f197f9da76204acb6865dc272a9880ffdb86ff33723ba790095479b0edef6d565f1c286e4accaa75aeb28f32e663b67a8f8a37705176#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-syntax-unicode-sets-regex", [\ - ["npm:7.18.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-10.zip/node_modules/@babel/plugin-syntax-unicode-sets-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-unicode-sets-regex", "npm:7.18.6"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.18.6", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-unicode-sets-regex-virtual-511f5218e4/6/.yarn/berry/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-10.zip/node_modules/@babel/plugin-syntax-unicode-sets-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-syntax-unicode-sets-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.18.6"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-arrow-functions", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-arrow-functions-npm-7.25.9-ececb64a8c-10.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-arrow-functions", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-arrow-functions-virtual-ca23c29f9e/6/.yarn/berry/cache/@babel-plugin-transform-arrow-functions-npm-7.25.9-ececb64a8c-10.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-arrow-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-async-generator-functions", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-async-generator-functions-npm-7.25.9-1ff81d4ef7-10.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-async-generator-functions", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-generator-functions-virtual-ba8ad0405b/6/.yarn/berry/cache/@babel-plugin-transform-async-generator-functions-npm-7.25.9-1ff81d4ef7-10.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-async-generator-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-remap-async-to-generator", "virtual:ba8ad0405b09513ce4e85736277d747179c5276ea6548459e4421a37aa71e1c6c9806f2030a96ad7cb0fc7ab48e9196a6702cce25ecb32087cad8180c865bf61#npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-async-to-generator", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-async-to-generator-npm-7.25.9-ebececf71e-10.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-async-to-generator", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-to-generator-virtual-f565771d49/6/.yarn/berry/cache/@babel-plugin-transform-async-to-generator-npm-7.25.9-ebececf71e-10.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-async-to-generator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-module-imports", "npm:7.25.9"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-remap-async-to-generator", "virtual:ba8ad0405b09513ce4e85736277d747179c5276ea6548459e4421a37aa71e1c6c9806f2030a96ad7cb0fc7ab48e9196a6702cce25ecb32087cad8180c865bf61#npm:7.25.9"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-block-scoped-functions", [\ - ["npm:7.26.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-block-scoped-functions-npm-7.26.5-279e722607-10.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-block-scoped-functions", "npm:7.26.5"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.5", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoped-functions-virtual-154f9f671c/6/.yarn/berry/cache/@babel-plugin-transform-block-scoped-functions-npm-7.26.5-279e722607-10.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-block-scoped-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-block-scoping", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-block-scoping-npm-7.25.9-f2efaa9ad7-10.zip/node_modules/@babel/plugin-transform-block-scoping/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-block-scoping", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoping-virtual-66d7da88ee/6/.yarn/berry/cache/@babel-plugin-transform-block-scoping-npm-7.25.9-f2efaa9ad7-10.zip/node_modules/@babel/plugin-transform-block-scoping/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-block-scoping", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-class-properties", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-class-properties-npm-7.25.9-ec8d0fa5bb-10.zip/node_modules/@babel/plugin-transform-class-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-class-properties", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-properties-virtual-b707aa9286/6/.yarn/berry/cache/@babel-plugin-transform-class-properties-npm-7.25.9-ec8d0fa5bb-10.zip/node_modules/@babel/plugin-transform-class-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-class-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-class-static-block", [\ - ["npm:7.26.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-class-static-block-npm-7.26.0-b277b54abb-10.zip/node_modules/@babel/plugin-transform-class-static-block/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-class-static-block", "npm:7.26.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-static-block-virtual-73cc466f10/6/.yarn/berry/cache/@babel-plugin-transform-class-static-block-npm-7.26.0-b277b54abb-10.zip/node_modules/@babel/plugin-transform-class-static-block/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-class-static-block", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-classes", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-classes-npm-7.25.9-2d606dd6e7-10.zip/node_modules/@babel/plugin-transform-classes/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-classes", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-classes-virtual-3de25c6204/6/.yarn/berry/cache/@babel-plugin-transform-classes-npm-7.25.9-2d606dd6e7-10.zip/node_modules/@babel/plugin-transform-classes/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-classes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ - ["@babel/helper-compilation-targets", "npm:7.26.5"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-replace-supers", "virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null],\ - ["globals", "npm:11.12.0"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-computed-properties", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-computed-properties-npm-7.25.9-4f0be3122f-10.zip/node_modules/@babel/plugin-transform-computed-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-computed-properties", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-computed-properties-virtual-8ad2947541/6/.yarn/berry/cache/@babel-plugin-transform-computed-properties-npm-7.25.9-4f0be3122f-10.zip/node_modules/@babel/plugin-transform-computed-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-computed-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/template", "npm:7.25.9"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-destructuring", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-destructuring-npm-7.25.9-4d0defa886-10.zip/node_modules/@babel/plugin-transform-destructuring/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-destructuring", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-destructuring-virtual-43fafc6db0/6/.yarn/berry/cache/@babel-plugin-transform-destructuring-npm-7.25.9-4d0defa886-10.zip/node_modules/@babel/plugin-transform-destructuring/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-destructuring", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-dotall-regex", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-dotall-regex-npm-7.25.9-1035da7e11-10.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-dotall-regex", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dotall-regex-virtual-42f0c218fb/6/.yarn/berry/cache/@babel-plugin-transform-dotall-regex-npm-7.25.9-1035da7e11-10.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-dotall-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-duplicate-keys", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-duplicate-keys-npm-7.25.9-1c76576f8f-10.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-duplicate-keys", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-keys-virtual-d30da6031a/6/.yarn/berry/cache/@babel-plugin-transform-duplicate-keys-npm-7.25.9-1c76576f8f-10.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-duplicate-keys", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.25.9-dbeaa1108e-10.zip/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-named-capturing-groups-regex-virtual-97d5017ac7/6/.yarn/berry/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.25.9-dbeaa1108e-10.zip/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-dynamic-import", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-dynamic-import-npm-7.25.9-a71ccfa36a-10.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-dynamic-import", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dynamic-import-virtual-c4599d2dd9/6/.yarn/berry/cache/@babel-plugin-transform-dynamic-import-npm-7.25.9-a71ccfa36a-10.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-dynamic-import", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-exponentiation-operator", [\ - ["npm:7.26.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-exponentiation-operator-npm-7.26.3-20f97fba79-10.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-exponentiation-operator", "npm:7.26.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-exponentiation-operator-virtual-0de865ec4c/6/.yarn/berry/cache/@babel-plugin-transform-exponentiation-operator-npm-7.26.3-20f97fba79-10.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-exponentiation-operator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-export-namespace-from", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-export-namespace-from-npm-7.25.9-135e9e5e1b-10.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-export-namespace-from", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-export-namespace-from-virtual-2346a1f65d/6/.yarn/berry/cache/@babel-plugin-transform-export-namespace-from-npm-7.25.9-135e9e5e1b-10.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-export-namespace-from", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-for-of", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-for-of-npm-7.25.9-7580278020-10.zip/node_modules/@babel/plugin-transform-for-of/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-for-of", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-for-of-virtual-0c5d092aab/6/.yarn/berry/cache/@babel-plugin-transform-for-of-npm-7.25.9-7580278020-10.zip/node_modules/@babel/plugin-transform-for-of/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-for-of", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-function-name", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-function-name-npm-7.25.9-d5752b7a23-10.zip/node_modules/@babel/plugin-transform-function-name/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-function-name", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-function-name-virtual-5b5c7b9cd5/6/.yarn/berry/cache/@babel-plugin-transform-function-name-npm-7.25.9-d5752b7a23-10.zip/node_modules/@babel/plugin-transform-function-name/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-function-name", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-compilation-targets", "npm:7.26.5"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-json-strings", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-json-strings-npm-7.25.9-98c5638edb-10.zip/node_modules/@babel/plugin-transform-json-strings/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-json-strings", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-json-strings-virtual-e28e1e9170/6/.yarn/berry/cache/@babel-plugin-transform-json-strings-npm-7.25.9-98c5638edb-10.zip/node_modules/@babel/plugin-transform-json-strings/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-json-strings", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-literals", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-literals-npm-7.25.9-3214d73572-10.zip/node_modules/@babel/plugin-transform-literals/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-literals", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-literals-virtual-08f9cd840c/6/.yarn/berry/cache/@babel-plugin-transform-literals-npm-7.25.9-3214d73572-10.zip/node_modules/@babel/plugin-transform-literals/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-logical-assignment-operators", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.25.9-c5b454492f-10.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-logical-assignment-operators", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-logical-assignment-operators-virtual-7fee85bd13/6/.yarn/berry/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.25.9-c5b454492f-10.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-logical-assignment-operators", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-member-expression-literals", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-member-expression-literals-npm-7.25.9-124803ce6b-10.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-member-expression-literals", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-member-expression-literals-virtual-52e9094379/6/.yarn/berry/cache/@babel-plugin-transform-member-expression-literals-npm-7.25.9-124803ce6b-10.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-member-expression-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-modules-amd", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-modules-amd-npm-7.25.9-6adc3ea0c6-10.zip/node_modules/@babel/plugin-transform-modules-amd/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-modules-amd", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-amd-virtual-b1c8e024a5/6/.yarn/berry/cache/@babel-plugin-transform-modules-amd-npm-7.25.9-6adc3ea0c6-10.zip/node_modules/@babel/plugin-transform-modules-amd/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-modules-amd", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-modules-commonjs", [\ - ["npm:7.26.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-modules-commonjs-npm-7.26.3-7c9b991fc5-10.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-modules-commonjs", "npm:7.26.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-commonjs-virtual-b302280194/6/.yarn/berry/cache/@babel-plugin-transform-modules-commonjs-npm-7.26.3-7c9b991fc5-10.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-modules-commonjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-modules-systemjs", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-modules-systemjs-npm-7.25.9-977795f4fd-10.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-modules-systemjs", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-systemjs-virtual-1cc2da8bac/6/.yarn/berry/cache/@babel-plugin-transform-modules-systemjs-npm-7.25.9-977795f4fd-10.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-modules-systemjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-validator-identifier", "npm:7.25.9"],\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-modules-umd", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-modules-umd-npm-7.25.9-268c5b6ad5-10.zip/node_modules/@babel/plugin-transform-modules-umd/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-modules-umd", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-umd-virtual-ea05e65dd5/6/.yarn/berry/cache/@babel-plugin-transform-modules-umd-npm-7.25.9-268c5b6ad5-10.zip/node_modules/@babel/plugin-transform-modules-umd/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-modules-umd", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-named-capturing-groups-regex", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.25.9-4eede36dba-10.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-named-capturing-groups-regex", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-named-capturing-groups-regex-virtual-f613e93da6/6/.yarn/berry/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.25.9-4eede36dba-10.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-new-target", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-new-target-npm-7.25.9-6eccc3dc16-10.zip/node_modules/@babel/plugin-transform-new-target/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-new-target", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-new-target-virtual-3292b98363/6/.yarn/berry/cache/@babel-plugin-transform-new-target-npm-7.25.9-6eccc3dc16-10.zip/node_modules/@babel/plugin-transform-new-target/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-new-target", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-nullish-coalescing-operator", [\ - ["npm:7.26.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.26.6-0fe7973c08-10.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-nullish-coalescing-operator", "npm:7.26.6"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.6", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-nullish-coalescing-operator-virtual-0e99862860/6/.yarn/berry/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.26.6-0fe7973c08-10.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.6"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-numeric-separator", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-numeric-separator-npm-7.25.9-bb79ada147-10.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-numeric-separator", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-numeric-separator-virtual-0dd3b099c9/6/.yarn/berry/cache/@babel-plugin-transform-numeric-separator-npm-7.25.9-bb79ada147-10.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-numeric-separator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-object-rest-spread", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-object-rest-spread-npm-7.25.9-3f0cb70408-10.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-object-rest-spread", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-rest-spread-virtual-adee796dab/6/.yarn/berry/cache/@babel-plugin-transform-object-rest-spread-npm-7.25.9-3f0cb70408-10.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-object-rest-spread", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-compilation-targets", "npm:7.26.5"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/plugin-transform-parameters", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-object-super", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-object-super-npm-7.25.9-6d5aaaf3d3-10.zip/node_modules/@babel/plugin-transform-object-super/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-object-super", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-super-virtual-70798b96e9/6/.yarn/berry/cache/@babel-plugin-transform-object-super-npm-7.25.9-6d5aaaf3d3-10.zip/node_modules/@babel/plugin-transform-object-super/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-object-super", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-replace-supers", "virtual:8f08b49708451a80a8eec0ae62fed477091082204a9c3d3353b8e63b523f965020e65b4abff211ba845ab6f78540091ef33a4766fb114253552691b33829cea2#npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-optional-catch-binding", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-optional-catch-binding-npm-7.25.9-333a1823d0-10.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-optional-catch-binding", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-catch-binding-virtual-ffe2fd9b1e/6/.yarn/berry/cache/@babel-plugin-transform-optional-catch-binding-npm-7.25.9-333a1823d0-10.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-optional-catch-binding", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-optional-chaining", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-optional-chaining-npm-7.25.9-9d837ee40b-10.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-optional-chaining", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-chaining-virtual-154d770952/6/.yarn/berry/cache/@babel-plugin-transform-optional-chaining-npm-7.25.9-9d837ee40b-10.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-parameters", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-parameters-npm-7.25.9-29a857a3d8-10.zip/node_modules/@babel/plugin-transform-parameters/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-parameters", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-parameters-virtual-e490d9568c/6/.yarn/berry/cache/@babel-plugin-transform-parameters-npm-7.25.9-29a857a3d8-10.zip/node_modules/@babel/plugin-transform-parameters/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-parameters", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-private-methods", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-private-methods-npm-7.25.9-7cc0e44aa5-10.zip/node_modules/@babel/plugin-transform-private-methods/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-private-methods", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-methods-virtual-b0a5ff92b7/6/.yarn/berry/cache/@babel-plugin-transform-private-methods-npm-7.25.9-7cc0e44aa5-10.zip/node_modules/@babel/plugin-transform-private-methods/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-private-methods", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-private-property-in-object", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-private-property-in-object-npm-7.25.9-a9cd661d35-10.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-private-property-in-object", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-property-in-object-virtual-60526c7de3/6/.yarn/berry/cache/@babel-plugin-transform-private-property-in-object-npm-7.25.9-a9cd661d35-10.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-private-property-in-object", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ - ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-property-literals", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-property-literals-npm-7.25.9-144c769b17-10.zip/node_modules/@babel/plugin-transform-property-literals/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-property-literals", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-property-literals-virtual-59cf705a10/6/.yarn/berry/cache/@babel-plugin-transform-property-literals-npm-7.25.9-144c769b17-10.zip/node_modules/@babel/plugin-transform-property-literals/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-property-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-regenerator", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-regenerator-npm-7.25.9-c341e2ff83-10.zip/node_modules/@babel/plugin-transform-regenerator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-regenerator", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regenerator-virtual-011e444bd2/6/.yarn/berry/cache/@babel-plugin-transform-regenerator-npm-7.25.9-c341e2ff83-10.zip/node_modules/@babel/plugin-transform-regenerator/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-regenerator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null],\ - ["regenerator-transform", "npm:0.15.2"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-regexp-modifiers", [\ - ["npm:7.26.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-regexp-modifiers-npm-7.26.0-6c405fb13f-10.zip/node_modules/@babel/plugin-transform-regexp-modifiers/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-regexp-modifiers", "npm:7.26.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regexp-modifiers-virtual-9e833df548/6/.yarn/berry/cache/@babel-plugin-transform-regexp-modifiers-npm-7.26.0-6c405fb13f-10.zip/node_modules/@babel/plugin-transform-regexp-modifiers/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-regexp-modifiers", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-reserved-words", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-reserved-words-npm-7.25.9-1e24d80df4-10.zip/node_modules/@babel/plugin-transform-reserved-words/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-reserved-words", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-reserved-words-virtual-e6724f529e/6/.yarn/berry/cache/@babel-plugin-transform-reserved-words-npm-7.25.9-1e24d80df4-10.zip/node_modules/@babel/plugin-transform-reserved-words/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-reserved-words", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-shorthand-properties", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-shorthand-properties-npm-7.25.9-7ddce2fc87-10.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-shorthand-properties", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-shorthand-properties-virtual-98e5c9a5bd/6/.yarn/berry/cache/@babel-plugin-transform-shorthand-properties-npm-7.25.9-7ddce2fc87-10.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-shorthand-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-spread", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-spread-npm-7.25.9-e34887ef9d-10.zip/node_modules/@babel/plugin-transform-spread/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-spread", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-spread-virtual-f4a8ab15a9/6/.yarn/berry/cache/@babel-plugin-transform-spread-npm-7.25.9-e34887ef9d-10.zip/node_modules/@babel/plugin-transform-spread/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-spread", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-sticky-regex", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-sticky-regex-npm-7.25.9-9945ceff11-10.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-sticky-regex", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-sticky-regex-virtual-da89f88245/6/.yarn/berry/cache/@babel-plugin-transform-sticky-regex-npm-7.25.9-9945ceff11-10.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-sticky-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-template-literals", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-template-literals-npm-7.25.9-181964c580-10.zip/node_modules/@babel/plugin-transform-template-literals/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-template-literals", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-template-literals-virtual-db2c095982/6/.yarn/berry/cache/@babel-plugin-transform-template-literals-npm-7.25.9-181964c580-10.zip/node_modules/@babel/plugin-transform-template-literals/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-template-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-typeof-symbol", [\ - ["npm:7.26.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-typeof-symbol-npm-7.26.7-0464a22917-10.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-typeof-symbol", "npm:7.26.7"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.7", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typeof-symbol-virtual-ce62a8b670/6/.yarn/berry/cache/@babel-plugin-transform-typeof-symbol-npm-7.26.7-0464a22917-10.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-typeof-symbol", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.7"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-typescript", [\ - ["npm:7.26.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-typescript-npm-7.26.7-2ba919e8d1-10.zip/node_modules/@babel/plugin-transform-typescript/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-typescript", "npm:7.26.7"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.26.7", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typescript-virtual-d391f3127b/6/.yarn/berry/cache/@babel-plugin-transform-typescript-npm-7.26.7-2ba919e8d1-10.zip/node_modules/@babel/plugin-transform-typescript/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-typescript", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.26.7"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ - ["@babel/helper-create-class-features-plugin", "virtual:b707aa92867050baa50fa15224b89a436029fefe0ad7b27735fbce15fdeba9ca5bfdde35a50df45aabcef6522e15262be7cdce3a52b9da968b63e1a2b2517c6f#npm:7.25.9"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ - ["@babel/plugin-syntax-typescript", "virtual:d391f3127bb3776a0d98f197f9da76204acb6865dc272a9880ffdb86ff33723ba790095479b0edef6d565f1c286e4accaa75aeb28f32e663b67a8f8a37705176#npm:7.25.9"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-unicode-escapes", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-escapes-npm-7.25.9-242953211b-10.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-unicode-escapes", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-escapes-virtual-1bf58131a6/6/.yarn/berry/cache/@babel-plugin-transform-unicode-escapes-npm-7.25.9-242953211b-10.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-unicode-escapes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-unicode-property-regex", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-property-regex-npm-7.25.9-f8b1b41e32-10.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-unicode-property-regex", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-property-regex-virtual-31f797dc0b/6/.yarn/berry/cache/@babel-plugin-transform-unicode-property-regex-npm-7.25.9-f8b1b41e32-10.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-unicode-property-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-unicode-regex", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-regex-npm-7.25.9-de9ae4f8a6-10.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-unicode-regex", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-regex-virtual-2aed0d1195/6/.yarn/berry/cache/@babel-plugin-transform-unicode-regex-npm-7.25.9-de9ae4f8a6-10.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-unicode-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/plugin-transform-unicode-sets-regex", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.25.9-34b28bcb6c-10.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-unicode-sets-regex", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-sets-regex-virtual-ff8296fb6f/6/.yarn/berry/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.25.9-34b28bcb6c-10.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ - "packageDependencies": [\ - ["@babel/plugin-transform-unicode-sets-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-create-regexp-features-plugin", "virtual:511f5218e4b093877a02226ddf10502636a4247fe9448c11ca53489c388b3d89d1db476beae051f5c276c8699167cc9c35ef3b3c7f5a0bacf3f2ac0808ecf017#npm:7.26.3"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/preset-env", [\ - ["npm:7.26.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-preset-env-npm-7.26.7-6a4ab3e02b-10.zip/node_modules/@babel/preset-env/",\ - "packageDependencies": [\ - ["@babel/preset-env", "npm:7.26.7"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.7", {\ - "packageLocation": "./.yarn/__virtual__/@babel-preset-env-virtual-a676b068b5/6/.yarn/berry/cache/@babel-preset-env-npm-7.26.7-6a4ab3e02b-10.zip/node_modules/@babel/preset-env/",\ - "packageDependencies": [\ - ["@babel/preset-env", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.7"],\ - ["@babel/compat-data", "npm:7.26.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-compilation-targets", "npm:7.26.5"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-validator-option", "npm:7.25.9"],\ - ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-proposal-private-property-in-object", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.21.0-placeholder-for-preset-env.2"],\ - ["@babel/plugin-syntax-import-assertions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ - ["@babel/plugin-syntax-import-attributes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ - ["@babel/plugin-syntax-unicode-sets-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.18.6"],\ - ["@babel/plugin-transform-arrow-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-async-generator-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-async-to-generator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-block-scoped-functions", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.5"],\ - ["@babel/plugin-transform-block-scoping", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-class-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-class-static-block", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ - ["@babel/plugin-transform-classes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-computed-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-destructuring", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-dotall-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-duplicate-keys", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-dynamic-import", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-exponentiation-operator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ - ["@babel/plugin-transform-export-namespace-from", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-for-of", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-function-name", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-json-strings", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-logical-assignment-operators", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-member-expression-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-modules-amd", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-modules-commonjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ - ["@babel/plugin-transform-modules-systemjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-modules-umd", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-new-target", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.6"],\ - ["@babel/plugin-transform-numeric-separator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-object-rest-spread", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-object-super", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-optional-catch-binding", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-optional-chaining", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-parameters", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-private-methods", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-private-property-in-object", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-property-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-regenerator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-regexp-modifiers", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ - ["@babel/plugin-transform-reserved-words", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-shorthand-properties", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-spread", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-sticky-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-template-literals", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-typeof-symbol", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.7"],\ - ["@babel/plugin-transform-unicode-escapes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-unicode-property-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-unicode-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/plugin-transform-unicode-sets-regex", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.25.9"],\ - ["@babel/preset-modules", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.1.6-no-external-plugins"],\ - ["@types/babel__core", null],\ - ["babel-plugin-polyfill-corejs2", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.4.12"],\ - ["babel-plugin-polyfill-corejs3", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.10.6"],\ - ["babel-plugin-polyfill-regenerator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.6.3"],\ - ["core-js-compat", "npm:3.40.0"],\ - ["semver", "npm:6.3.1"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/preset-modules", [\ - ["npm:0.1.6-no-external-plugins", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-10.zip/node_modules/@babel/preset-modules/",\ - "packageDependencies": [\ - ["@babel/preset-modules", "npm:0.1.6-no-external-plugins"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.1.6-no-external-plugins", {\ - "packageLocation": "./.yarn/__virtual__/@babel-preset-modules-virtual-955772776c/6/.yarn/berry/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-10.zip/node_modules/@babel/preset-modules/",\ - "packageDependencies": [\ - ["@babel/preset-modules", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.1.6-no-external-plugins"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/types", "npm:7.26.7"],\ - ["@types/babel__core", null],\ - ["esutils", "npm:2.0.3"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/preset-typescript", [\ - ["npm:7.26.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-preset-typescript-npm-7.26.0-0771d290dd-10.zip/node_modules/@babel/preset-typescript/",\ - "packageDependencies": [\ - ["@babel/preset-typescript", "npm:7.26.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0", {\ - "packageLocation": "./.yarn/__virtual__/@babel-preset-typescript-virtual-a1c18449f3/6/.yarn/berry/cache/@babel-preset-typescript-npm-7.26.0-0771d290dd-10.zip/node_modules/@babel/preset-typescript/",\ - "packageDependencies": [\ - ["@babel/preset-typescript", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@babel/helper-validator-option", "npm:7.25.9"],\ - ["@babel/plugin-syntax-jsx", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.25.9"],\ - ["@babel/plugin-transform-modules-commonjs", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.3"],\ - ["@babel/plugin-transform-typescript", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.26.7"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/register", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-register-npm-7.25.9-0fdfb6c1cb-10.zip/node_modules/@babel/register/",\ - "packageDependencies": [\ - ["@babel/register", "npm:7.25.9"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:495d1fe58a5940bbe6ad23c1da3ac225f191a10151292e2a512b89a882156dc81abe56f2b01722e6495421b7baa2b8c7f6e0182b3e50a07d7b825013dbb11cf9#npm:7.25.9", {\ - "packageLocation": "./.yarn/__virtual__/@babel-register-virtual-517dfced52/6/.yarn/berry/cache/@babel-register-npm-7.25.9-0fdfb6c1cb-10.zip/node_modules/@babel/register/",\ - "packageDependencies": [\ - ["@babel/register", "virtual:495d1fe58a5940bbe6ad23c1da3ac225f191a10151292e2a512b89a882156dc81abe56f2b01722e6495421b7baa2b8c7f6e0182b3e50a07d7b825013dbb11cf9#npm:7.25.9"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@types/babel__core", null],\ - ["clone-deep", "npm:4.0.1"],\ - ["find-cache-dir", "npm:2.1.0"],\ - ["make-dir", "npm:2.1.0"],\ - ["pirates", "npm:4.0.6"],\ - ["source-map-support", "npm:0.5.21"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/runtime", [\ - ["npm:7.26.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-runtime-npm-7.26.7-685f05ad2c-10.zip/node_modules/@babel/runtime/",\ - "packageDependencies": [\ - ["@babel/runtime", "npm:7.26.7"],\ - ["regenerator-runtime", "npm:0.14.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/template", [\ - ["npm:7.25.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-template-npm-7.25.9-d903b7b6d5-10.zip/node_modules/@babel/template/",\ - "packageDependencies": [\ - ["@babel/template", "npm:7.25.9"],\ - ["@babel/code-frame", "npm:7.26.2"],\ - ["@babel/parser", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/traverse", [\ - ["npm:7.26.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-traverse-npm-7.26.7-18316b804e-10.zip/node_modules/@babel/traverse/",\ - "packageDependencies": [\ - ["@babel/traverse", "npm:7.26.7"],\ - ["@babel/code-frame", "npm:7.26.2"],\ - ["@babel/generator", "npm:7.26.5"],\ - ["@babel/parser", "npm:7.26.7"],\ - ["@babel/template", "npm:7.25.9"],\ - ["@babel/types", "npm:7.26.7"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["globals", "npm:11.12.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/types", [\ - ["npm:7.26.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@babel-types-npm-7.26.7-0a324aa562-10.zip/node_modules/@babel/types/",\ - "packageDependencies": [\ - ["@babel/types", "npm:7.26.7"],\ - ["@babel/helper-string-parser", "npm:7.25.9"],\ - ["@babel/helper-validator-identifier", "npm:7.25.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@bcoe/v8-coverage", [\ - ["npm:0.2.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10.zip/node_modules/@bcoe/v8-coverage/",\ - "packageDependencies": [\ - ["@bcoe/v8-coverage", "npm:0.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint-community/eslint-utils", [\ - ["npm:4.4.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.1-c83a271e90-10.zip/node_modules/@eslint-community/eslint-utils/",\ - "packageDependencies": [\ - ["@eslint-community/eslint-utils", "npm:4.4.1"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-f570407a4f/6/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.1-c83a271e90-10.zip/node_modules/@eslint-community/eslint-utils/",\ - "packageDependencies": [\ - ["@eslint-community/eslint-utils", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1"],\ - ["@types/eslint", null],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint-community/regexpp", [\ - ["npm:4.12.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@eslint-community-regexpp-npm-4.12.1-ef4ab5217e-10.zip/node_modules/@eslint-community/regexpp/",\ - "packageDependencies": [\ - ["@eslint-community/regexpp", "npm:4.12.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/config-array", [\ - ["npm:0.19.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@eslint-config-array-npm-0.19.2-9310e910a9-10.zip/node_modules/@eslint/config-array/",\ - "packageDependencies": [\ - ["@eslint/config-array", "npm:0.19.2"],\ - ["@eslint/object-schema", "npm:2.1.6"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["minimatch", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/core", [\ - ["npm:0.10.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@eslint-core-npm-0.10.0-33fca4886d-10.zip/node_modules/@eslint/core/",\ - "packageDependencies": [\ - ["@eslint/core", "npm:0.10.0"],\ - ["@types/json-schema", "npm:7.0.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/eslintrc", [\ - ["npm:3.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@eslint-eslintrc-npm-3.2.0-1f7efe7868-10.zip/node_modules/@eslint/eslintrc/",\ - "packageDependencies": [\ - ["@eslint/eslintrc", "npm:3.2.0"],\ - ["ajv", "npm:6.12.6"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["espree", "npm:10.3.0"],\ - ["globals", "npm:14.0.0"],\ - ["ignore", "npm:5.3.2"],\ - ["import-fresh", "npm:3.3.0"],\ - ["js-yaml", "npm:4.1.0"],\ - ["minimatch", "npm:3.1.2"],\ - ["strip-json-comments", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/js", [\ - ["npm:9.19.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@eslint-js-npm-9.19.0-12d90bd733-10.zip/node_modules/@eslint/js/",\ - "packageDependencies": [\ - ["@eslint/js", "npm:9.19.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/object-schema", [\ - ["npm:2.1.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@eslint-object-schema-npm-2.1.6-a777ee59e8-10.zip/node_modules/@eslint/object-schema/",\ - "packageDependencies": [\ - ["@eslint/object-schema", "npm:2.1.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/plugin-kit", [\ - ["npm:0.2.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@eslint-plugin-kit-npm-0.2.5-aeb42dfdc6-10.zip/node_modules/@eslint/plugin-kit/",\ - "packageDependencies": [\ - ["@eslint/plugin-kit", "npm:0.2.5"],\ - ["@eslint/core", "npm:0.10.0"],\ - ["levn", "npm:0.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@exercism/babel-preset-typescript", [\ - ["npm:0.6.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@exercism-babel-preset-typescript-npm-0.6.0-ff2b4a191f-10.zip/node_modules/@exercism/babel-preset-typescript/",\ - "packageDependencies": [\ - ["@exercism/babel-preset-typescript", "npm:0.6.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/node", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ - ["@babel/preset-env", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.7"],\ - ["@babel/preset-typescript", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ - ["core-js", "npm:3.38.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@exercism/eslint-config-typescript", [\ - ["npm:0.8.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@exercism-eslint-config-typescript-npm-0.8.0-daf1290d14-10.zip/node_modules/@exercism/eslint-config-typescript/",\ - "packageDependencies": [\ - ["@exercism/eslint-config-typescript", "npm:0.8.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:0.8.0", {\ - "packageLocation": "./.yarn/__virtual__/@exercism-eslint-config-typescript-virtual-24e1be29e6/6/.yarn/berry/cache/@exercism-eslint-config-typescript-npm-0.8.0-daf1290d14-10.zip/node_modules/@exercism/eslint-config-typescript/",\ - "packageDependencies": [\ - ["@exercism/eslint-config-typescript", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:0.8.0"],\ - ["@eslint/js", "npm:9.19.0"],\ - ["@stylistic/eslint-plugin-ts", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:2.13.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["eslint-config-prettier", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:9.1.0"],\ - ["eslint-plugin-jest", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:28.11.0"],\ - ["globals", "npm:15.14.0"],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"],\ - ["typescript-eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@exercism/typescript-anagram", [\ - ["workspace:.", {\ - "packageLocation": "./",\ - "packageDependencies": [\ - ["@exercism/typescript-anagram", "workspace:."],\ - ["@exercism/babel-preset-typescript", "npm:0.6.0"],\ - ["@exercism/eslint-config-typescript", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:0.8.0"],\ - ["@jest/globals", "npm:29.7.0"],\ - ["@types/node", "npm:22.7.9"],\ - ["babel-jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ - ["core-js", "npm:3.38.1"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["expect", "npm:29.7.0"],\ - ["jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ - ["prettier", "npm:3.4.2"],\ - ["tstyche", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:2.1.1"],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"],\ - ["typescript-eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0"]\ - ],\ - "linkType": "SOFT"\ - }]\ - ]],\ - ["@humanfs/core", [\ - ["npm:0.19.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-10.zip/node_modules/@humanfs/core/",\ - "packageDependencies": [\ - ["@humanfs/core", "npm:0.19.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@humanfs/node", [\ - ["npm:0.16.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@humanfs-node-npm-0.16.6-6ee2cad587-10.zip/node_modules/@humanfs/node/",\ - "packageDependencies": [\ - ["@humanfs/node", "npm:0.16.6"],\ - ["@humanfs/core", "npm:0.19.1"],\ - ["@humanwhocodes/retry", "npm:0.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@humanwhocodes/module-importer", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10.zip/node_modules/@humanwhocodes/module-importer/",\ - "packageDependencies": [\ - ["@humanwhocodes/module-importer", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@humanwhocodes/retry", [\ - ["npm:0.3.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-10.zip/node_modules/@humanwhocodes/retry/",\ - "packageDependencies": [\ - ["@humanwhocodes/retry", "npm:0.3.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.4.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@humanwhocodes-retry-npm-0.4.1-44b0ee0d64-10.zip/node_modules/@humanwhocodes/retry/",\ - "packageDependencies": [\ - ["@humanwhocodes/retry", "npm:0.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@isaacs/cliui", [\ - ["npm:8.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10.zip/node_modules/@isaacs/cliui/",\ - "packageDependencies": [\ - ["@isaacs/cliui", "npm:8.0.2"],\ - ["string-width", "npm:5.1.2"],\ - ["string-width-cjs", [\ - "string-width",\ - "npm:4.2.3"\ - ]],\ - ["strip-ansi", "npm:7.1.0"],\ - ["strip-ansi-cjs", [\ - "strip-ansi",\ - "npm:6.0.1"\ - ]],\ - ["wrap-ansi", "npm:8.1.0"],\ - ["wrap-ansi-cjs", [\ - "wrap-ansi",\ - "npm:7.0.0"\ - ]]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@isaacs/fs-minipass", [\ - ["npm:4.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-10.zip/node_modules/@isaacs/fs-minipass/",\ - "packageDependencies": [\ - ["@isaacs/fs-minipass", "npm:4.0.1"],\ - ["minipass", "npm:7.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@istanbuljs/load-nyc-config", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-10.zip/node_modules/@istanbuljs/load-nyc-config/",\ - "packageDependencies": [\ - ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\ - ["camelcase", "npm:5.3.1"],\ - ["find-up", "npm:4.1.0"],\ - ["get-package-type", "npm:0.1.0"],\ - ["js-yaml", "npm:3.14.1"],\ - ["resolve-from", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@istanbuljs/schema", [\ - ["npm:0.1.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10.zip/node_modules/@istanbuljs/schema/",\ - "packageDependencies": [\ - ["@istanbuljs/schema", "npm:0.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/console", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-console-npm-29.7.0-77689f186f-10.zip/node_modules/@jest/console/",\ - "packageDependencies": [\ - ["@jest/console", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["chalk", "npm:4.1.2"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/core", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-core-npm-29.7.0-cef60d74c4-10.zip/node_modules/@jest/core/",\ - "packageDependencies": [\ - ["@jest/core", "npm:29.7.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/@jest-core-virtual-b4af133f42/6/.yarn/berry/cache/@jest-core-npm-29.7.0-cef60d74c4-10.zip/node_modules/@jest/core/",\ - "packageDependencies": [\ - ["@jest/core", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ - ["@jest/console", "npm:29.7.0"],\ - ["@jest/reporters", "virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/transform", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["@types/node-notifier", null],\ - ["ansi-escapes", "npm:4.3.2"],\ - ["chalk", "npm:4.1.2"],\ - ["ci-info", "npm:3.9.0"],\ - ["exit", "npm:0.1.2"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-changed-files", "npm:29.7.0"],\ - ["jest-config", "virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0"],\ - ["jest-haste-map", "npm:29.7.0"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-regex-util", "npm:29.6.3"],\ - ["jest-resolve", "npm:29.7.0"],\ - ["jest-resolve-dependencies", "npm:29.7.0"],\ - ["jest-runner", "npm:29.7.0"],\ - ["jest-runtime", "npm:29.7.0"],\ - ["jest-snapshot", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-validate", "npm:29.7.0"],\ - ["jest-watcher", "npm:29.7.0"],\ - ["micromatch", "npm:4.0.8"],\ - ["node-notifier", null],\ - ["pretty-format", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"],\ - ["strip-ansi", "npm:6.0.1"]\ - ],\ - "packagePeers": [\ - "@types/node-notifier",\ - "node-notifier"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/environment", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-environment-npm-29.7.0-97705658d0-10.zip/node_modules/@jest/environment/",\ - "packageDependencies": [\ - ["@jest/environment", "npm:29.7.0"],\ - ["@jest/fake-timers", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["jest-mock", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/expect", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-expect-npm-29.7.0-9dfe9cebaa-10.zip/node_modules/@jest/expect/",\ - "packageDependencies": [\ - ["@jest/expect", "npm:29.7.0"],\ - ["expect", "npm:29.7.0"],\ - ["jest-snapshot", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/expect-utils", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-expect-utils-npm-29.7.0-14740cc487-10.zip/node_modules/@jest/expect-utils/",\ - "packageDependencies": [\ - ["@jest/expect-utils", "npm:29.7.0"],\ - ["jest-get-type", "npm:29.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/fake-timers", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-fake-timers-npm-29.7.0-e4174d1b56-10.zip/node_modules/@jest/fake-timers/",\ - "packageDependencies": [\ - ["@jest/fake-timers", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@sinonjs/fake-timers", "npm:10.3.0"],\ - ["@types/node", "npm:22.13.0"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-mock", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/globals", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-globals-npm-29.7.0-06f2bd411e-10.zip/node_modules/@jest/globals/",\ - "packageDependencies": [\ - ["@jest/globals", "npm:29.7.0"],\ - ["@jest/environment", "npm:29.7.0"],\ - ["@jest/expect", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["jest-mock", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/reporters", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-reporters-npm-29.7.0-2561cd7a09-10.zip/node_modules/@jest/reporters/",\ - "packageDependencies": [\ - ["@jest/reporters", "npm:29.7.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/@jest-reporters-virtual-0969ecac0c/6/.yarn/berry/cache/@jest-reporters-npm-29.7.0-2561cd7a09-10.zip/node_modules/@jest/reporters/",\ - "packageDependencies": [\ - ["@jest/reporters", "virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0"],\ - ["@bcoe/v8-coverage", "npm:0.2.3"],\ - ["@jest/console", "npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/transform", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.25"],\ - ["@types/node", "npm:22.13.0"],\ - ["@types/node-notifier", null],\ - ["chalk", "npm:4.1.2"],\ - ["collect-v8-coverage", "npm:1.0.2"],\ - ["exit", "npm:0.1.2"],\ - ["glob", "npm:7.2.3"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["istanbul-lib-instrument", "npm:6.0.3"],\ - ["istanbul-lib-report", "npm:3.0.1"],\ - ["istanbul-lib-source-maps", "npm:4.0.1"],\ - ["istanbul-reports", "npm:3.1.7"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-worker", "npm:29.7.0"],\ - ["node-notifier", null],\ - ["slash", "npm:3.0.0"],\ - ["string-length", "npm:4.0.2"],\ - ["strip-ansi", "npm:6.0.1"],\ - ["v8-to-istanbul", "npm:9.3.0"]\ - ],\ - "packagePeers": [\ - "@types/node-notifier",\ - "node-notifier"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/schemas", [\ - ["npm:29.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10.zip/node_modules/@jest/schemas/",\ - "packageDependencies": [\ - ["@jest/schemas", "npm:29.6.3"],\ - ["@sinclair/typebox", "npm:0.27.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/source-map", [\ - ["npm:29.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-source-map-npm-29.6.3-8bb8289263-10.zip/node_modules/@jest/source-map/",\ - "packageDependencies": [\ - ["@jest/source-map", "npm:29.6.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.25"],\ - ["callsites", "npm:3.1.0"],\ - ["graceful-fs", "npm:4.2.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/test-result", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-test-result-npm-29.7.0-4bb532101b-10.zip/node_modules/@jest/test-result/",\ - "packageDependencies": [\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/console", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ - ["collect-v8-coverage", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/test-sequencer", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-test-sequencer-npm-29.7.0-291f23a495-10.zip/node_modules/@jest/test-sequencer/",\ - "packageDependencies": [\ - ["@jest/test-sequencer", "npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-haste-map", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/transform", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-transform-npm-29.7.0-af20d68b57-10.zip/node_modules/@jest/transform/",\ - "packageDependencies": [\ - ["@jest/transform", "npm:29.7.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.25"],\ - ["babel-plugin-istanbul", "npm:6.1.1"],\ - ["chalk", "npm:4.1.2"],\ - ["convert-source-map", "npm:2.0.0"],\ - ["fast-json-stable-stringify", "npm:2.1.0"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-haste-map", "npm:29.7.0"],\ - ["jest-regex-util", "npm:29.6.3"],\ - ["jest-util", "npm:29.7.0"],\ - ["micromatch", "npm:4.0.8"],\ - ["pirates", "npm:4.0.6"],\ - ["slash", "npm:3.0.0"],\ - ["write-file-atomic", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/types", [\ - ["npm:29.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jest-types-npm-29.6.3-a584ca999d-10.zip/node_modules/@jest/types/",\ - "packageDependencies": [\ - ["@jest/types", "npm:29.6.3"],\ - ["@jest/schemas", "npm:29.6.3"],\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ - ["@types/istanbul-reports", "npm:3.0.4"],\ - ["@types/node", "npm:22.13.0"],\ - ["@types/yargs", "npm:17.0.33"],\ - ["chalk", "npm:4.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/gen-mapping", [\ - ["npm:0.3.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.8-647be6e286-10.zip/node_modules/@jridgewell/gen-mapping/",\ - "packageDependencies": [\ - ["@jridgewell/gen-mapping", "npm:0.3.8"],\ - ["@jridgewell/set-array", "npm:1.2.1"],\ - ["@jridgewell/sourcemap-codec", "npm:1.5.0"],\ - ["@jridgewell/trace-mapping", "npm:0.3.25"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/resolve-uri", [\ - ["npm:3.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-10.zip/node_modules/@jridgewell/resolve-uri/",\ - "packageDependencies": [\ - ["@jridgewell/resolve-uri", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/set-array", [\ - ["npm:1.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-set-array-npm-1.2.1-2312928209-10.zip/node_modules/@jridgewell/set-array/",\ - "packageDependencies": [\ - ["@jridgewell/set-array", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/sourcemap-codec", [\ - ["npm:1.5.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-10.zip/node_modules/@jridgewell/sourcemap-codec/",\ - "packageDependencies": [\ - ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/trace-mapping", [\ - ["npm:0.3.25", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-10.zip/node_modules/@jridgewell/trace-mapping/",\ - "packageDependencies": [\ - ["@jridgewell/trace-mapping", "npm:0.3.25"],\ - ["@jridgewell/resolve-uri", "npm:3.1.2"],\ - ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@nodelib/fs.scandir", [\ - ["npm:2.1.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10.zip/node_modules/@nodelib/fs.scandir/",\ - "packageDependencies": [\ - ["@nodelib/fs.scandir", "npm:2.1.5"],\ - ["@nodelib/fs.stat", "npm:2.0.5"],\ - ["run-parallel", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@nodelib/fs.stat", [\ - ["npm:2.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10.zip/node_modules/@nodelib/fs.stat/",\ - "packageDependencies": [\ - ["@nodelib/fs.stat", "npm:2.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@nodelib/fs.walk", [\ - ["npm:1.2.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10.zip/node_modules/@nodelib/fs.walk/",\ - "packageDependencies": [\ - ["@nodelib/fs.walk", "npm:1.2.8"],\ - ["@nodelib/fs.scandir", "npm:2.1.5"],\ - ["fastq", "npm:1.19.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@npmcli/agent", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@npmcli-agent-npm-3.0.0-169e79294f-10.zip/node_modules/@npmcli/agent/",\ - "packageDependencies": [\ - ["@npmcli/agent", "npm:3.0.0"],\ - ["agent-base", "npm:7.1.3"],\ - ["http-proxy-agent", "npm:7.0.2"],\ - ["https-proxy-agent", "npm:7.0.6"],\ - ["lru-cache", "npm:10.4.3"],\ - ["socks-proxy-agent", "npm:8.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@npmcli/fs", [\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@npmcli-fs-npm-4.0.0-1d9cc8a27b-10.zip/node_modules/@npmcli/fs/",\ - "packageDependencies": [\ - ["@npmcli/fs", "npm:4.0.0"],\ - ["semver", "npm:7.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@pkgjs/parseargs", [\ - ["npm:0.11.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10.zip/node_modules/@pkgjs/parseargs/",\ - "packageDependencies": [\ - ["@pkgjs/parseargs", "npm:0.11.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sinclair/typebox", [\ - ["npm:0.27.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10.zip/node_modules/@sinclair/typebox/",\ - "packageDependencies": [\ - ["@sinclair/typebox", "npm:0.27.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sinonjs/commons", [\ - ["npm:3.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@sinonjs-commons-npm-3.0.1-bffb9f5a53-10.zip/node_modules/@sinonjs/commons/",\ - "packageDependencies": [\ - ["@sinonjs/commons", "npm:3.0.1"],\ - ["type-detect", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sinonjs/fake-timers", [\ - ["npm:10.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@sinonjs-fake-timers-npm-10.3.0-7417f876b4-10.zip/node_modules/@sinonjs/fake-timers/",\ - "packageDependencies": [\ - ["@sinonjs/fake-timers", "npm:10.3.0"],\ - ["@sinonjs/commons", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@stylistic/eslint-plugin-ts", [\ - ["npm:2.13.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@stylistic-eslint-plugin-ts-npm-2.13.0-63d148f2b7-10.zip/node_modules/@stylistic/eslint-plugin-ts/",\ - "packageDependencies": [\ - ["@stylistic/eslint-plugin-ts", "npm:2.13.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:2.13.0", {\ - "packageLocation": "./.yarn/__virtual__/@stylistic-eslint-plugin-ts-virtual-1b19ec744e/6/.yarn/berry/cache/@stylistic-eslint-plugin-ts-npm-2.13.0-63d148f2b7-10.zip/node_modules/@stylistic/eslint-plugin-ts/",\ - "packageDependencies": [\ - ["@stylistic/eslint-plugin-ts", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:2.13.0"],\ - ["@types/eslint", null],\ - ["@typescript-eslint/utils", "virtual:1b19ec744e249ebe6ea2a6cdca70496a020427e774ceba2c416875d4437aa581adb4c20262b3d46127087d3d5c26751962e16aee89940c9a82955c75070f55a7#npm:8.22.0"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["eslint-visitor-keys", "npm:4.2.0"],\ - ["espree", "npm:10.3.0"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/babel__core", [\ - ["npm:7.20.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-babel__core-npm-7.20.5-4d95f75eab-10.zip/node_modules/@types/babel__core/",\ - "packageDependencies": [\ - ["@types/babel__core", "npm:7.20.5"],\ - ["@babel/parser", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"],\ - ["@types/babel__generator", "npm:7.6.8"],\ - ["@types/babel__template", "npm:7.4.4"],\ - ["@types/babel__traverse", "npm:7.20.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/babel__generator", [\ - ["npm:7.6.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-babel__generator-npm-7.6.8-61be1197d9-10.zip/node_modules/@types/babel__generator/",\ - "packageDependencies": [\ - ["@types/babel__generator", "npm:7.6.8"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/babel__template", [\ - ["npm:7.4.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-babel__template-npm-7.4.4-f34eba762c-10.zip/node_modules/@types/babel__template/",\ - "packageDependencies": [\ - ["@types/babel__template", "npm:7.4.4"],\ - ["@babel/parser", "npm:7.26.7"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/babel__traverse", [\ - ["npm:7.20.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-babel__traverse-npm-7.20.6-fac4243243-10.zip/node_modules/@types/babel__traverse/",\ - "packageDependencies": [\ - ["@types/babel__traverse", "npm:7.20.6"],\ - ["@babel/types", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/estree", [\ - ["npm:1.0.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-estree-npm-1.0.6-b5e23f2ea2-10.zip/node_modules/@types/estree/",\ - "packageDependencies": [\ - ["@types/estree", "npm:1.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/graceful-fs", [\ - ["npm:4.1.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-graceful-fs-npm-4.1.9-ebd697fe83-10.zip/node_modules/@types/graceful-fs/",\ - "packageDependencies": [\ - ["@types/graceful-fs", "npm:4.1.9"],\ - ["@types/node", "npm:22.13.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/istanbul-lib-coverage", [\ - ["npm:2.0.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10.zip/node_modules/@types/istanbul-lib-coverage/",\ - "packageDependencies": [\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/istanbul-lib-report", [\ - ["npm:3.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-istanbul-lib-report-npm-3.0.3-a5c0ef4b88-10.zip/node_modules/@types/istanbul-lib-report/",\ - "packageDependencies": [\ - ["@types/istanbul-lib-report", "npm:3.0.3"],\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/istanbul-reports", [\ - ["npm:3.0.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-istanbul-reports-npm-3.0.4-1afa69db29-10.zip/node_modules/@types/istanbul-reports/",\ - "packageDependencies": [\ - ["@types/istanbul-reports", "npm:3.0.4"],\ - ["@types/istanbul-lib-report", "npm:3.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/json-schema", [\ - ["npm:7.0.15", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10.zip/node_modules/@types/json-schema/",\ - "packageDependencies": [\ - ["@types/json-schema", "npm:7.0.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/node", [\ - ["npm:22.13.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-node-npm-22.13.0-ce5ef5ab7c-10.zip/node_modules/@types/node/",\ - "packageDependencies": [\ - ["@types/node", "npm:22.13.0"],\ - ["undici-types", "npm:6.20.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:22.7.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-node-npm-22.7.9-03392d8185-10.zip/node_modules/@types/node/",\ - "packageDependencies": [\ - ["@types/node", "npm:22.7.9"],\ - ["undici-types", "npm:6.19.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/stack-utils", [\ - ["npm:2.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-stack-utils-npm-2.0.3-48a0a03262-10.zip/node_modules/@types/stack-utils/",\ - "packageDependencies": [\ - ["@types/stack-utils", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/yargs", [\ - ["npm:17.0.33", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-yargs-npm-17.0.33-1d6cca6a2e-10.zip/node_modules/@types/yargs/",\ - "packageDependencies": [\ - ["@types/yargs", "npm:17.0.33"],\ - ["@types/yargs-parser", "npm:21.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/yargs-parser", [\ - ["npm:21.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@types-yargs-parser-npm-21.0.3-1d265246a1-10.zip/node_modules/@types/yargs-parser/",\ - "packageDependencies": [\ - ["@types/yargs-parser", "npm:21.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/eslint-plugin", [\ - ["npm:8.22.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-8.22.0-3ffeac3a34-10.zip/node_modules/@typescript-eslint/eslint-plugin/",\ - "packageDependencies": [\ - ["@typescript-eslint/eslint-plugin", "npm:8.22.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-b318e639d6/6/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-8.22.0-3ffeac3a34-10.zip/node_modules/@typescript-eslint/eslint-plugin/",\ - "packageDependencies": [\ - ["@typescript-eslint/eslint-plugin", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ - ["@eslint-community/regexpp", "npm:4.12.1"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@types/typescript-eslint__parser", null],\ - ["@typescript-eslint/parser", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ - ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ - ["@typescript-eslint/type-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:8.22.0"],\ - ["@typescript-eslint/utils", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ - ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["graphemer", "npm:1.4.0"],\ - ["ignore", "npm:5.3.2"],\ - ["natural-compare", "npm:1.4.0"],\ - ["ts-api-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0"],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript-eslint__parser",\ - "@types/typescript",\ - "@typescript-eslint/parser",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/parser", [\ - ["npm:8.22.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-parser-npm-8.22.0-024bd80eca-10.zip/node_modules/@typescript-eslint/parser/",\ - "packageDependencies": [\ - ["@typescript-eslint/parser", "npm:8.22.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-3ea0f070b7/6/.yarn/berry/cache/@typescript-eslint-parser-npm-8.22.0-024bd80eca-10.zip/node_modules/@typescript-eslint/parser/",\ - "packageDependencies": [\ - ["@typescript-eslint/parser", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ - ["@typescript-eslint/types", "npm:8.22.0"],\ - ["@typescript-eslint/typescript-estree", "virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0"],\ - ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/scope-manager", [\ - ["npm:8.22.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-8.22.0-e9d4565a7f-10.zip/node_modules/@typescript-eslint/scope-manager/",\ - "packageDependencies": [\ - ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ - ["@typescript-eslint/types", "npm:8.22.0"],\ - ["@typescript-eslint/visitor-keys", "npm:8.22.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/type-utils", [\ - ["npm:8.22.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-type-utils-npm-8.22.0-318d6614d2-10.zip/node_modules/@typescript-eslint/type-utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/type-utils", "npm:8.22.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:8.22.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-db67e7d842/6/.yarn/berry/cache/@typescript-eslint-type-utils-npm-8.22.0-318d6614d2-10.zip/node_modules/@typescript-eslint/type-utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/type-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:8.22.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@typescript-eslint/typescript-estree", "virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0"],\ - ["@typescript-eslint/utils", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["ts-api-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0"],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/types", [\ - ["npm:8.22.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-types-npm-8.22.0-cc19234a46-10.zip/node_modules/@typescript-eslint/types/",\ - "packageDependencies": [\ - ["@typescript-eslint/types", "npm:8.22.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/typescript-estree", [\ - ["npm:8.22.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-8.22.0-3f7a16feac-10.zip/node_modules/@typescript-eslint/typescript-estree/",\ - "packageDependencies": [\ - ["@typescript-eslint/typescript-estree", "npm:8.22.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:8.22.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-b948890d16/6/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-8.22.0-3f7a16feac-10.zip/node_modules/@typescript-eslint/typescript-estree/",\ - "packageDependencies": [\ - ["@typescript-eslint/typescript-estree", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:8.22.0"],\ - ["@types/typescript", null],\ - ["@typescript-eslint/types", "npm:8.22.0"],\ - ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["fast-glob", "npm:3.3.3"],\ - ["is-glob", "npm:4.0.3"],\ - ["minimatch", "npm:9.0.5"],\ - ["semver", "npm:7.7.0"],\ - ["ts-api-utils", "virtual:b948890d16c03d415192e4901d37e9bc453f7f9f8297f171b2dbe6746ece85503a62863bd1469b5e188f375dd117e9f8c04ee4d2c17371d6ef10f590030faaa5#npm:2.0.0"],\ - ["typescript", null]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-467861b855/6/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-8.22.0-3f7a16feac-10.zip/node_modules/@typescript-eslint/typescript-estree/",\ - "packageDependencies": [\ - ["@typescript-eslint/typescript-estree", "virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0"],\ - ["@types/typescript", null],\ - ["@typescript-eslint/types", "npm:8.22.0"],\ - ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["fast-glob", "npm:3.3.3"],\ - ["is-glob", "npm:4.0.3"],\ - ["minimatch", "npm:9.0.5"],\ - ["semver", "npm:7.7.0"],\ - ["ts-api-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0"],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/utils", [\ - ["npm:8.22.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-utils-npm-8.22.0-5491e74318-10.zip/node_modules/@typescript-eslint/utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/utils", "npm:8.22.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:1b19ec744e249ebe6ea2a6cdca70496a020427e774ceba2c416875d4437aa581adb4c20262b3d46127087d3d5c26751962e16aee89940c9a82955c75070f55a7#npm:8.22.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-1863e04770/6/.yarn/berry/cache/@typescript-eslint-utils-npm-8.22.0-5491e74318-10.zip/node_modules/@typescript-eslint/utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/utils", "virtual:1b19ec744e249ebe6ea2a6cdca70496a020427e774ceba2c416875d4437aa581adb4c20262b3d46127087d3d5c26751962e16aee89940c9a82955c75070f55a7#npm:8.22.0"],\ - ["@eslint-community/eslint-utils", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ - ["@typescript-eslint/types", "npm:8.22.0"],\ - ["@typescript-eslint/typescript-estree", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:8.22.0"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["typescript", null]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-ef51c6e448/6/.yarn/berry/cache/@typescript-eslint-utils-npm-8.22.0-5491e74318-10.zip/node_modules/@typescript-eslint/utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/utils", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ - ["@eslint-community/eslint-utils", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@typescript-eslint/scope-manager", "npm:8.22.0"],\ - ["@typescript-eslint/types", "npm:8.22.0"],\ - ["@typescript-eslint/typescript-estree", "virtual:db67e7d842ba33c1c4a4979916083c2e3e9dd865d0c8eb69c4287d43c39a46b64669d0bb617c7911201e0fd601258b17cba28136814d4ba6aa47952d895df57a#npm:8.22.0"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/visitor-keys", [\ - ["npm:8.22.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-8.22.0-5832313ce6-10.zip/node_modules/@typescript-eslint/visitor-keys/",\ - "packageDependencies": [\ - ["@typescript-eslint/visitor-keys", "npm:8.22.0"],\ - ["@typescript-eslint/types", "npm:8.22.0"],\ - ["eslint-visitor-keys", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["abbrev", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/abbrev-npm-3.0.0-946682a7b1-10.zip/node_modules/abbrev/",\ - "packageDependencies": [\ - ["abbrev", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["acorn", [\ - ["npm:8.14.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/acorn-npm-8.14.0-dc46f61424-10.zip/node_modules/acorn/",\ - "packageDependencies": [\ - ["acorn", "npm:8.14.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["acorn-jsx", [\ - ["npm:5.3.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10.zip/node_modules/acorn-jsx/",\ - "packageDependencies": [\ - ["acorn-jsx", "npm:5.3.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2", {\ - "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-64331c13be/6/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10.zip/node_modules/acorn-jsx/",\ - "packageDependencies": [\ - ["acorn-jsx", "virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2"],\ - ["@types/acorn", null],\ - ["acorn", "npm:8.14.0"]\ - ],\ - "packagePeers": [\ - "@types/acorn",\ - "acorn"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["agent-base", [\ - ["npm:7.1.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/agent-base-npm-7.1.3-b2c16e72fb-10.zip/node_modules/agent-base/",\ - "packageDependencies": [\ - ["agent-base", "npm:7.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ajv", [\ - ["npm:6.12.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10.zip/node_modules/ajv/",\ - "packageDependencies": [\ - ["ajv", "npm:6.12.6"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fast-json-stable-stringify", "npm:2.1.0"],\ - ["json-schema-traverse", "npm:0.4.1"],\ - ["uri-js", "npm:4.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ansi-escapes", [\ - ["npm:4.3.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ansi-escapes-npm-4.3.2-3ad173702f-10.zip/node_modules/ansi-escapes/",\ - "packageDependencies": [\ - ["ansi-escapes", "npm:4.3.2"],\ - ["type-fest", "npm:0.21.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ansi-regex", [\ - ["npm:5.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10.zip/node_modules/ansi-regex/",\ - "packageDependencies": [\ - ["ansi-regex", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ansi-regex-npm-6.1.0-abe011aae4-10.zip/node_modules/ansi-regex/",\ - "packageDependencies": [\ - ["ansi-regex", "npm:6.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ansi-styles", [\ - ["npm:4.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:4.3.0"],\ - ["color-convert", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:5.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:6.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["anymatch", [\ - ["npm:3.1.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/anymatch-npm-3.1.3-bc81d103b1-10.zip/node_modules/anymatch/",\ - "packageDependencies": [\ - ["anymatch", "npm:3.1.3"],\ - ["normalize-path", "npm:3.0.0"],\ - ["picomatch", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["argparse", [\ - ["npm:1.0.10", {\ - "packageLocation": "../../../../../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10.zip/node_modules/argparse/",\ - "packageDependencies": [\ - ["argparse", "npm:1.0.10"],\ - ["sprintf-js", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10.zip/node_modules/argparse/",\ - "packageDependencies": [\ - ["argparse", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["array-buffer-byte-length", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/array-buffer-byte-length-npm-1.0.2-c2be1e97e0-10.zip/node_modules/array-buffer-byte-length/",\ - "packageDependencies": [\ - ["array-buffer-byte-length", "npm:1.0.2"],\ - ["call-bound", "npm:1.0.3"],\ - ["is-array-buffer", "npm:3.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["array.prototype.reduce", [\ - ["npm:1.0.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/array.prototype.reduce-npm-1.0.7-68b13a3834-10.zip/node_modules/array.prototype.reduce/",\ - "packageDependencies": [\ - ["array.prototype.reduce", "npm:1.0.7"],\ - ["call-bind", "npm:1.0.8"],\ - ["define-properties", "npm:1.2.1"],\ - ["es-abstract", "npm:1.23.9"],\ - ["es-array-method-boxes-properly", "npm:1.0.0"],\ - ["es-errors", "npm:1.3.0"],\ - ["es-object-atoms", "npm:1.1.1"],\ - ["is-string", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["arraybuffer.prototype.slice", [\ - ["npm:1.0.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/arraybuffer.prototype.slice-npm-1.0.4-01f62a9713-10.zip/node_modules/arraybuffer.prototype.slice/",\ - "packageDependencies": [\ - ["arraybuffer.prototype.slice", "npm:1.0.4"],\ - ["array-buffer-byte-length", "npm:1.0.2"],\ - ["call-bind", "npm:1.0.8"],\ - ["define-properties", "npm:1.2.1"],\ - ["es-abstract", "npm:1.23.9"],\ - ["es-errors", "npm:1.3.0"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["is-array-buffer", "npm:3.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["async-function", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/async-function-npm-1.0.0-a81667ebcd-10.zip/node_modules/async-function/",\ - "packageDependencies": [\ - ["async-function", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["available-typed-arrays", [\ - ["npm:1.0.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/available-typed-arrays-npm-1.0.7-e5e5d79687-10.zip/node_modules/available-typed-arrays/",\ - "packageDependencies": [\ - ["available-typed-arrays", "npm:1.0.7"],\ - ["possible-typed-array-names", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["babel-jest", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/babel-jest-npm-29.7.0-273152fbe9-10.zip/node_modules/babel-jest/",\ - "packageDependencies": [\ - ["babel-jest", "npm:29.7.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:084d56f2e02accc93077937a3791d450ffcf1772776998237a61731f47b51e7cd5bcd94d9dc3171351c5d5b9a521ad7d47a3208c06054ea4dcf216d5f27c66d9#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/babel-jest-virtual-2b342c4645/6/.yarn/berry/cache/babel-jest-npm-29.7.0-273152fbe9-10.zip/node_modules/babel-jest/",\ - "packageDependencies": [\ - ["babel-jest", "virtual:084d56f2e02accc93077937a3791d450ffcf1772776998237a61731f47b51e7cd5bcd94d9dc3171351c5d5b9a521ad7d47a3208c06054ea4dcf216d5f27c66d9#npm:29.7.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@jest/transform", "npm:29.7.0"],\ - ["@types/babel__core", "npm:7.20.5"],\ - ["babel-plugin-istanbul", "npm:6.1.1"],\ - ["babel-preset-jest", "virtual:2b342c4645ec23c739edc0b9bb80a1319f261b1e7ea04bd46431994abb71d77b7f9f3525a75b23a464381b84cba158efcad8ac7841c97320dd14816dd3dd1ceb#npm:29.6.3"],\ - ["chalk", "npm:4.1.2"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["slash", "npm:3.0.0"]\ - ],\ - "packagePeers": [\ - "@babel/core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/babel-jest-virtual-492c57a17d/6/.yarn/berry/cache/babel-jest-npm-29.7.0-273152fbe9-10.zip/node_modules/babel-jest/",\ - "packageDependencies": [\ - ["babel-jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ - ["@babel/core", null],\ - ["@jest/transform", "npm:29.7.0"],\ - ["@types/babel__core", "npm:7.20.5"],\ - ["babel-plugin-istanbul", "npm:6.1.1"],\ - ["babel-preset-jest", "virtual:492c57a17dd58e7fe872b1cd618656c340ca7cfe2e8de3c7cee6923a21cac20ba5052d292a83e3e94eb050fceb624d9e083c692218ca5ece6c93171ca0dd3d47#npm:29.6.3"],\ - ["chalk", "npm:4.1.2"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["slash", "npm:3.0.0"]\ - ],\ - "packagePeers": [\ - "@babel/core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["babel-plugin-istanbul", [\ - ["npm:6.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-istanbul-npm-6.1.1-df824055e4-10.zip/node_modules/babel-plugin-istanbul/",\ - "packageDependencies": [\ - ["babel-plugin-istanbul", "npm:6.1.1"],\ - ["@babel/helper-plugin-utils", "npm:7.26.5"],\ - ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\ - ["@istanbuljs/schema", "npm:0.1.3"],\ - ["istanbul-lib-instrument", "npm:5.2.1"],\ - ["test-exclude", "npm:6.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["babel-plugin-jest-hoist", [\ - ["npm:29.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-jest-hoist-npm-29.6.3-46120a3297-10.zip/node_modules/babel-plugin-jest-hoist/",\ - "packageDependencies": [\ - ["babel-plugin-jest-hoist", "npm:29.6.3"],\ - ["@babel/template", "npm:7.25.9"],\ - ["@babel/types", "npm:7.26.7"],\ - ["@types/babel__core", "npm:7.20.5"],\ - ["@types/babel__traverse", "npm:7.20.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["babel-plugin-polyfill-corejs2", [\ - ["npm:0.4.12", {\ - "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-polyfill-corejs2-npm-0.4.12-d572de89f3-10.zip/node_modules/babel-plugin-polyfill-corejs2/",\ - "packageDependencies": [\ - ["babel-plugin-polyfill-corejs2", "npm:0.4.12"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.4.12", {\ - "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs2-virtual-2c303a9fac/6/.yarn/berry/cache/babel-plugin-polyfill-corejs2-npm-0.4.12-d572de89f3-10.zip/node_modules/babel-plugin-polyfill-corejs2/",\ - "packageDependencies": [\ - ["babel-plugin-polyfill-corejs2", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.4.12"],\ - ["@babel/compat-data", "npm:7.26.5"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-define-polyfill-provider", "virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3"],\ - ["@types/babel__core", null],\ - ["semver", "npm:6.3.1"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["babel-plugin-polyfill-corejs3", [\ - ["npm:0.10.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-polyfill-corejs3-npm-0.10.6-066bf0a146-10.zip/node_modules/babel-plugin-polyfill-corejs3/",\ - "packageDependencies": [\ - ["babel-plugin-polyfill-corejs3", "npm:0.10.6"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.10.6", {\ - "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs3-virtual-b47909b291/6/.yarn/berry/cache/babel-plugin-polyfill-corejs3-npm-0.10.6-066bf0a146-10.zip/node_modules/babel-plugin-polyfill-corejs3/",\ - "packageDependencies": [\ - ["babel-plugin-polyfill-corejs3", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.10.6"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-define-polyfill-provider", "virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3"],\ - ["@types/babel__core", null],\ - ["core-js-compat", "npm:3.40.0"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["babel-plugin-polyfill-regenerator", [\ - ["npm:0.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/babel-plugin-polyfill-regenerator-npm-0.6.3-03c3464221-10.zip/node_modules/babel-plugin-polyfill-regenerator/",\ - "packageDependencies": [\ - ["babel-plugin-polyfill-regenerator", "npm:0.6.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.6.3", {\ - "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-regenerator-virtual-493296f10a/6/.yarn/berry/cache/babel-plugin-polyfill-regenerator-npm-0.6.3-03c3464221-10.zip/node_modules/babel-plugin-polyfill-regenerator/",\ - "packageDependencies": [\ - ["babel-plugin-polyfill-regenerator", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:0.6.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/helper-define-polyfill-provider", "virtual:2c303a9facc9e97e827c6a7b4b471589ac89e41dfd490f4e5b04b4ca1cabef568c13e96f601d7f51c5dab0dc8adf09ffeb74cfa176990885ee782ad7f6a2c291#npm:0.6.3"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["babel-preset-current-node-syntax", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ - "packageDependencies": [\ - ["babel-preset-current-node-syntax", "npm:1.1.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:1.1.0", {\ - "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-56983eadc3/6/.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ - "packageDependencies": [\ - ["babel-preset-current-node-syntax", "virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:1.1.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/plugin-syntax-async-generators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.4"],\ - ["@babel/plugin-syntax-bigint", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/plugin-syntax-class-properties", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.12.13"],\ - ["@babel/plugin-syntax-class-static-block", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ - ["@babel/plugin-syntax-import-attributes", "virtual:a676b068b51b0353032257afed56ad3248858f99959067c05b9214f6c9c681f90a5e44b30597c6ee69242469937cebdb5dfee2f003389a6c76fe8f7766378a1a#npm:7.26.0"],\ - ["@babel/plugin-syntax-import-meta", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ - ["@babel/plugin-syntax-json-strings", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/plugin-syntax-logical-assignment-operators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ - ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/plugin-syntax-numeric-separator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ - ["@babel/plugin-syntax-object-rest-spread", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/plugin-syntax-optional-catch-binding", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/plugin-syntax-optional-chaining", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ - ["@babel/plugin-syntax-private-property-in-object", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ - ["@babel/plugin-syntax-top-level-await", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ - ["@types/babel__core", null]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:17f1ca3a3fd2150b770e68c3f2f2dab88f227260cafc708550722fc1de581e7c92d4823406444bb02d3009ff6cf01cf931a96b7d17a6b7b54df554c799e10a64#npm:1.1.0", {\ - "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-68af3c8b14/6/.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ - "packageDependencies": [\ - ["babel-preset-current-node-syntax", "virtual:17f1ca3a3fd2150b770e68c3f2f2dab88f227260cafc708550722fc1de581e7c92d4823406444bb02d3009ff6cf01cf931a96b7d17a6b7b54df554c799e10a64#npm:1.1.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/plugin-syntax-async-generators", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.4"],\ - ["@babel/plugin-syntax-bigint", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/plugin-syntax-class-properties", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.12.13"],\ - ["@babel/plugin-syntax-class-static-block", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ - ["@babel/plugin-syntax-import-attributes", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.26.0"],\ - ["@babel/plugin-syntax-import-meta", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ - ["@babel/plugin-syntax-json-strings", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/plugin-syntax-logical-assignment-operators", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ - ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/plugin-syntax-numeric-separator", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.10.4"],\ - ["@babel/plugin-syntax-object-rest-spread", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/plugin-syntax-optional-catch-binding", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/plugin-syntax-optional-chaining", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.8.3"],\ - ["@babel/plugin-syntax-private-property-in-object", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ - ["@babel/plugin-syntax-top-level-await", "virtual:68af3c8b14477d278e6fd01c4da8b27ec16eba9338229a6945ada649d453f2dbb7994d3317505ec0c6b2eb45aa42c7051f2da3ab9f8300c760dc81c51fd84452#npm:7.14.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:6c10e7948ec51d2f33974d3716e4b04adf535b5ee3f1980af59d8d595578a936bb7580a163972d2c9dd5e26b4e13ae10d48e86e81a98c68786103b00cfb55e56#npm:1.1.0", {\ - "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-7c0e0ff194/6/.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ - "packageDependencies": [\ - ["babel-preset-current-node-syntax", "virtual:6c10e7948ec51d2f33974d3716e4b04adf535b5ee3f1980af59d8d595578a936bb7580a163972d2c9dd5e26b4e13ae10d48e86e81a98c68786103b00cfb55e56#npm:1.1.0"],\ - ["@babel/core", null],\ - ["@babel/plugin-syntax-async-generators", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.4"],\ - ["@babel/plugin-syntax-bigint", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/plugin-syntax-class-properties", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.12.13"],\ - ["@babel/plugin-syntax-class-static-block", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ - ["@babel/plugin-syntax-import-attributes", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.26.0"],\ - ["@babel/plugin-syntax-import-meta", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ - ["@babel/plugin-syntax-json-strings", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/plugin-syntax-logical-assignment-operators", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ - ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/plugin-syntax-numeric-separator", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.10.4"],\ - ["@babel/plugin-syntax-object-rest-spread", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/plugin-syntax-optional-catch-binding", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/plugin-syntax-optional-chaining", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.8.3"],\ - ["@babel/plugin-syntax-private-property-in-object", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ - ["@babel/plugin-syntax-top-level-await", "virtual:7c0e0ff194fc19af1326f456f9ff4a77cbc67b10e0e7f30b34febb10ad7726da77682541d9771f1a5a18b3955394235ca078e2dd00dcc63d307162f40c98c1be#npm:7.14.5"],\ - ["@types/babel__core", "npm:7.20.5"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["babel-preset-jest", [\ - ["npm:29.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/babel-preset-jest-npm-29.6.3-44bf6eeda9-10.zip/node_modules/babel-preset-jest/",\ - "packageDependencies": [\ - ["babel-preset-jest", "npm:29.6.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:2b342c4645ec23c739edc0b9bb80a1319f261b1e7ea04bd46431994abb71d77b7f9f3525a75b23a464381b84cba158efcad8ac7841c97320dd14816dd3dd1ceb#npm:29.6.3", {\ - "packageLocation": "./.yarn/__virtual__/babel-preset-jest-virtual-17f1ca3a3f/6/.yarn/berry/cache/babel-preset-jest-npm-29.6.3-44bf6eeda9-10.zip/node_modules/babel-preset-jest/",\ - "packageDependencies": [\ - ["babel-preset-jest", "virtual:2b342c4645ec23c739edc0b9bb80a1319f261b1e7ea04bd46431994abb71d77b7f9f3525a75b23a464381b84cba158efcad8ac7841c97320dd14816dd3dd1ceb#npm:29.6.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@types/babel__core", "npm:7.20.5"],\ - ["babel-plugin-jest-hoist", "npm:29.6.3"],\ - ["babel-preset-current-node-syntax", "virtual:17f1ca3a3fd2150b770e68c3f2f2dab88f227260cafc708550722fc1de581e7c92d4823406444bb02d3009ff6cf01cf931a96b7d17a6b7b54df554c799e10a64#npm:1.1.0"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:492c57a17dd58e7fe872b1cd618656c340ca7cfe2e8de3c7cee6923a21cac20ba5052d292a83e3e94eb050fceb624d9e083c692218ca5ece6c93171ca0dd3d47#npm:29.6.3", {\ - "packageLocation": "./.yarn/__virtual__/babel-preset-jest-virtual-6c10e7948e/6/.yarn/berry/cache/babel-preset-jest-npm-29.6.3-44bf6eeda9-10.zip/node_modules/babel-preset-jest/",\ - "packageDependencies": [\ - ["babel-preset-jest", "virtual:492c57a17dd58e7fe872b1cd618656c340ca7cfe2e8de3c7cee6923a21cac20ba5052d292a83e3e94eb050fceb624d9e083c692218ca5ece6c93171ca0dd3d47#npm:29.6.3"],\ - ["@babel/core", null],\ - ["@types/babel__core", "npm:7.20.5"],\ - ["babel-plugin-jest-hoist", "npm:29.6.3"],\ - ["babel-preset-current-node-syntax", "virtual:6c10e7948ec51d2f33974d3716e4b04adf535b5ee3f1980af59d8d595578a936bb7580a163972d2c9dd5e26b4e13ae10d48e86e81a98c68786103b00cfb55e56#npm:1.1.0"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["balanced-match", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10.zip/node_modules/balanced-match/",\ - "packageDependencies": [\ - ["balanced-match", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["brace-expansion", [\ - ["npm:1.1.11", {\ - "packageLocation": "../../../../../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10.zip/node_modules/brace-expansion/",\ - "packageDependencies": [\ - ["brace-expansion", "npm:1.1.11"],\ - ["balanced-match", "npm:1.0.2"],\ - ["concat-map", "npm:0.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10.zip/node_modules/brace-expansion/",\ - "packageDependencies": [\ - ["brace-expansion", "npm:2.0.1"],\ - ["balanced-match", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["braces", [\ - ["npm:3.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/braces-npm-3.0.3-582c14023c-10.zip/node_modules/braces/",\ - "packageDependencies": [\ - ["braces", "npm:3.0.3"],\ - ["fill-range", "npm:7.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["browserslist", [\ - ["npm:4.24.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/browserslist-npm-4.24.4-2fdeb5face-10.zip/node_modules/browserslist/",\ - "packageDependencies": [\ - ["browserslist", "npm:4.24.4"],\ - ["caniuse-lite", "npm:1.0.30001696"],\ - ["electron-to-chromium", "npm:1.5.90"],\ - ["node-releases", "npm:2.0.19"],\ - ["update-browserslist-db", "virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["bser", [\ - ["npm:2.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/bser-npm-2.1.1-cc902055ce-10.zip/node_modules/bser/",\ - "packageDependencies": [\ - ["bser", "npm:2.1.1"],\ - ["node-int64", "npm:0.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["buffer-from", [\ - ["npm:1.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10.zip/node_modules/buffer-from/",\ - "packageDependencies": [\ - ["buffer-from", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cacache", [\ - ["npm:19.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/cacache-npm-19.0.1-395cba1936-10.zip/node_modules/cacache/",\ - "packageDependencies": [\ - ["cacache", "npm:19.0.1"],\ - ["@npmcli/fs", "npm:4.0.0"],\ - ["fs-minipass", "npm:3.0.3"],\ - ["glob", "npm:10.4.5"],\ - ["lru-cache", "npm:10.4.3"],\ - ["minipass", "npm:7.1.2"],\ - ["minipass-collect", "npm:2.0.1"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["p-map", "npm:7.0.3"],\ - ["ssri", "npm:12.0.0"],\ - ["tar", "npm:7.4.3"],\ - ["unique-filename", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["call-bind", [\ - ["npm:1.0.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/call-bind-npm-1.0.8-4145a20621-10.zip/node_modules/call-bind/",\ - "packageDependencies": [\ - ["call-bind", "npm:1.0.8"],\ - ["call-bind-apply-helpers", "npm:1.0.1"],\ - ["es-define-property", "npm:1.0.1"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["set-function-length", "npm:1.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["call-bind-apply-helpers", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/call-bind-apply-helpers-npm-1.0.1-cda777c96d-10.zip/node_modules/call-bind-apply-helpers/",\ - "packageDependencies": [\ - ["call-bind-apply-helpers", "npm:1.0.1"],\ - ["es-errors", "npm:1.3.0"],\ - ["function-bind", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["call-bound", [\ - ["npm:1.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/call-bound-npm-1.0.3-f4cbf26326-10.zip/node_modules/call-bound/",\ - "packageDependencies": [\ - ["call-bound", "npm:1.0.3"],\ - ["call-bind-apply-helpers", "npm:1.0.1"],\ - ["get-intrinsic", "npm:1.2.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["callsites", [\ - ["npm:3.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10.zip/node_modules/callsites/",\ - "packageDependencies": [\ - ["callsites", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["camelcase", [\ - ["npm:5.3.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/camelcase-npm-5.3.1-5db8af62c5-10.zip/node_modules/camelcase/",\ - "packageDependencies": [\ - ["camelcase", "npm:5.3.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/camelcase-npm-6.3.0-e5e42a0d15-10.zip/node_modules/camelcase/",\ - "packageDependencies": [\ - ["camelcase", "npm:6.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["caniuse-lite", [\ - ["npm:1.0.30001696", {\ - "packageLocation": "../../../../../.yarn/berry/cache/caniuse-lite-npm-1.0.30001696-067c2f955f-10.zip/node_modules/caniuse-lite/",\ - "packageDependencies": [\ - ["caniuse-lite", "npm:1.0.30001696"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["chalk", [\ - ["npm:4.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10.zip/node_modules/chalk/",\ - "packageDependencies": [\ - ["chalk", "npm:4.1.2"],\ - ["ansi-styles", "npm:4.3.0"],\ - ["supports-color", "npm:7.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["char-regex", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/char-regex-npm-1.0.2-ecade5f97f-10.zip/node_modules/char-regex/",\ - "packageDependencies": [\ - ["char-regex", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["chownr", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/chownr-npm-3.0.0-5275e85d25-10.zip/node_modules/chownr/",\ - "packageDependencies": [\ - ["chownr", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ci-info", [\ - ["npm:3.9.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ci-info-npm-3.9.0-646784ca0e-10.zip/node_modules/ci-info/",\ - "packageDependencies": [\ - ["ci-info", "npm:3.9.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cjs-module-lexer", [\ - ["npm:1.4.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/cjs-module-lexer-npm-1.4.3-4a46e7bf6c-10.zip/node_modules/cjs-module-lexer/",\ - "packageDependencies": [\ - ["cjs-module-lexer", "npm:1.4.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cliui", [\ - ["npm:8.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/cliui-npm-8.0.1-3b029092cf-10.zip/node_modules/cliui/",\ - "packageDependencies": [\ - ["cliui", "npm:8.0.1"],\ - ["string-width", "npm:4.2.3"],\ - ["strip-ansi", "npm:6.0.1"],\ - ["wrap-ansi", "npm:7.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["clone-deep", [\ - ["npm:4.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/clone-deep-npm-4.0.1-70adab92c8-10.zip/node_modules/clone-deep/",\ - "packageDependencies": [\ - ["clone-deep", "npm:4.0.1"],\ - ["is-plain-object", "npm:2.0.4"],\ - ["kind-of", "npm:6.0.3"],\ - ["shallow-clone", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["co", [\ - ["npm:4.6.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/co-npm-4.6.0-03f2d1feb6-10.zip/node_modules/co/",\ - "packageDependencies": [\ - ["co", "npm:4.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["collect-v8-coverage", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/collect-v8-coverage-npm-1.0.2-bd20d0c572-10.zip/node_modules/collect-v8-coverage/",\ - "packageDependencies": [\ - ["collect-v8-coverage", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["color-convert", [\ - ["npm:2.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10.zip/node_modules/color-convert/",\ - "packageDependencies": [\ - ["color-convert", "npm:2.0.1"],\ - ["color-name", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["color-name", [\ - ["npm:1.1.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10.zip/node_modules/color-name/",\ - "packageDependencies": [\ - ["color-name", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["commander", [\ - ["npm:6.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/commander-npm-6.2.1-d5b635f237-10.zip/node_modules/commander/",\ - "packageDependencies": [\ - ["commander", "npm:6.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["commondir", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/commondir-npm-1.0.1-291b790340-10.zip/node_modules/commondir/",\ - "packageDependencies": [\ - ["commondir", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["concat-map", [\ - ["npm:0.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10.zip/node_modules/concat-map/",\ - "packageDependencies": [\ - ["concat-map", "npm:0.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["convert-source-map", [\ - ["npm:2.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10.zip/node_modules/convert-source-map/",\ - "packageDependencies": [\ - ["convert-source-map", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["core-js", [\ - ["npm:3.38.1", {\ - "packageLocation": "./.yarn/unplugged/core-js-npm-3.38.1-5a2a3b88ee/node_modules/core-js/",\ - "packageDependencies": [\ - ["core-js", "npm:3.38.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.40.0", {\ - "packageLocation": "./.yarn/unplugged/core-js-npm-3.40.0-312b1d0da0/node_modules/core-js/",\ - "packageDependencies": [\ - ["core-js", "npm:3.40.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["core-js-compat", [\ - ["npm:3.40.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/core-js-compat-npm-3.40.0-4943db3368-10.zip/node_modules/core-js-compat/",\ - "packageDependencies": [\ - ["core-js-compat", "npm:3.40.0"],\ - ["browserslist", "npm:4.24.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["create-jest", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/create-jest-npm-29.7.0-3a6a7b993b-10.zip/node_modules/create-jest/",\ - "packageDependencies": [\ - ["create-jest", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["chalk", "npm:4.1.2"],\ - ["exit", "npm:0.1.2"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-config", "virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["prompts", "npm:2.4.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cross-spawn", [\ - ["npm:7.0.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/cross-spawn-npm-7.0.6-264bddf921-10.zip/node_modules/cross-spawn/",\ - "packageDependencies": [\ - ["cross-spawn", "npm:7.0.6"],\ - ["path-key", "npm:3.1.1"],\ - ["shebang-command", "npm:2.0.0"],\ - ["which", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["data-view-buffer", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/data-view-buffer-npm-1.0.2-93c9247e37-10.zip/node_modules/data-view-buffer/",\ - "packageDependencies": [\ - ["data-view-buffer", "npm:1.0.2"],\ - ["call-bound", "npm:1.0.3"],\ - ["es-errors", "npm:1.3.0"],\ - ["is-data-view", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["data-view-byte-length", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/data-view-byte-length-npm-1.0.2-96d312fb9c-10.zip/node_modules/data-view-byte-length/",\ - "packageDependencies": [\ - ["data-view-byte-length", "npm:1.0.2"],\ - ["call-bound", "npm:1.0.3"],\ - ["es-errors", "npm:1.3.0"],\ - ["is-data-view", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["data-view-byte-offset", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/data-view-byte-offset-npm-1.0.1-315a12a556-10.zip/node_modules/data-view-byte-offset/",\ - "packageDependencies": [\ - ["data-view-byte-offset", "npm:1.0.1"],\ - ["call-bound", "npm:1.0.3"],\ - ["es-errors", "npm:1.3.0"],\ - ["is-data-view", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["debug", [\ - ["npm:4.4.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/debug-npm-4.4.0-f6efe76023-10.zip/node_modules/debug/",\ - "packageDependencies": [\ - ["debug", "npm:4.4.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-82be10d455/6/.yarn/berry/cache/debug-npm-4.4.0-f6efe76023-10.zip/node_modules/debug/",\ - "packageDependencies": [\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["@types/supports-color", null],\ - ["ms", "npm:2.1.3"],\ - ["supports-color", null]\ - ],\ - "packagePeers": [\ - "@types/supports-color",\ - "supports-color"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["dedent", [\ - ["npm:1.5.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/dedent-npm-1.5.3-123726df15-10.zip/node_modules/dedent/",\ - "packageDependencies": [\ - ["dedent", "npm:1.5.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f7679858c638e2e5ade31901dd2b1e5007918fdc7d84fefb11f4200f46ba2e43b9d662fb793507b517bb1e725144e51f6d68f60f9f6100fd52144f042f58f0bc#npm:1.5.3", {\ - "packageLocation": "./.yarn/__virtual__/dedent-virtual-5106190c75/6/.yarn/berry/cache/dedent-npm-1.5.3-123726df15-10.zip/node_modules/dedent/",\ - "packageDependencies": [\ - ["dedent", "virtual:f7679858c638e2e5ade31901dd2b1e5007918fdc7d84fefb11f4200f46ba2e43b9d662fb793507b517bb1e725144e51f6d68f60f9f6100fd52144f042f58f0bc#npm:1.5.3"],\ - ["@types/babel-plugin-macros", null],\ - ["babel-plugin-macros", null]\ - ],\ - "packagePeers": [\ - "@types/babel-plugin-macros",\ - "babel-plugin-macros"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["deep-is", [\ - ["npm:0.1.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10.zip/node_modules/deep-is/",\ - "packageDependencies": [\ - ["deep-is", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["deepmerge", [\ - ["npm:4.3.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/deepmerge-npm-4.3.1-4f751a0844-10.zip/node_modules/deepmerge/",\ - "packageDependencies": [\ - ["deepmerge", "npm:4.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["define-data-property", [\ - ["npm:1.1.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/define-data-property-npm-1.1.4-4cbd8efc51-10.zip/node_modules/define-data-property/",\ - "packageDependencies": [\ - ["define-data-property", "npm:1.1.4"],\ - ["es-define-property", "npm:1.0.1"],\ - ["es-errors", "npm:1.3.0"],\ - ["gopd", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["define-properties", [\ - ["npm:1.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/define-properties-npm-1.2.1-8a4d42413b-10.zip/node_modules/define-properties/",\ - "packageDependencies": [\ - ["define-properties", "npm:1.2.1"],\ - ["define-data-property", "npm:1.1.4"],\ - ["has-property-descriptors", "npm:1.0.2"],\ - ["object-keys", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["detect-newline", [\ - ["npm:3.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/detect-newline-npm-3.1.0-6d33fa8d37-10.zip/node_modules/detect-newline/",\ - "packageDependencies": [\ - ["detect-newline", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["diff-sequences", [\ - ["npm:29.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10.zip/node_modules/diff-sequences/",\ - "packageDependencies": [\ - ["diff-sequences", "npm:29.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["dunder-proto", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/dunder-proto-npm-1.0.1-90eb6829db-10.zip/node_modules/dunder-proto/",\ - "packageDependencies": [\ - ["dunder-proto", "npm:1.0.1"],\ - ["call-bind-apply-helpers", "npm:1.0.1"],\ - ["es-errors", "npm:1.3.0"],\ - ["gopd", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eastasianwidth", [\ - ["npm:0.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10.zip/node_modules/eastasianwidth/",\ - "packageDependencies": [\ - ["eastasianwidth", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["electron-to-chromium", [\ - ["npm:1.5.90", {\ - "packageLocation": "../../../../../.yarn/berry/cache/electron-to-chromium-npm-1.5.90-074751336b-10.zip/node_modules/electron-to-chromium/",\ - "packageDependencies": [\ - ["electron-to-chromium", "npm:1.5.90"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["emittery", [\ - ["npm:0.13.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10.zip/node_modules/emittery/",\ - "packageDependencies": [\ - ["emittery", "npm:0.13.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["emoji-regex", [\ - ["npm:8.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10.zip/node_modules/emoji-regex/",\ - "packageDependencies": [\ - ["emoji-regex", "npm:8.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:9.2.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10.zip/node_modules/emoji-regex/",\ - "packageDependencies": [\ - ["emoji-regex", "npm:9.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["encoding", [\ - ["npm:0.1.13", {\ - "packageLocation": "../../../../../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10.zip/node_modules/encoding/",\ - "packageDependencies": [\ - ["encoding", "npm:0.1.13"],\ - ["iconv-lite", "npm:0.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["env-paths", [\ - ["npm:2.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10.zip/node_modules/env-paths/",\ - "packageDependencies": [\ - ["env-paths", "npm:2.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["err-code", [\ - ["npm:2.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10.zip/node_modules/err-code/",\ - "packageDependencies": [\ - ["err-code", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["error-ex", [\ - ["npm:1.3.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/error-ex-npm-1.3.2-5654f80c0f-10.zip/node_modules/error-ex/",\ - "packageDependencies": [\ - ["error-ex", "npm:1.3.2"],\ - ["is-arrayish", "npm:0.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["es-abstract", [\ - ["npm:1.23.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/es-abstract-npm-1.23.9-65d488dcce-10.zip/node_modules/es-abstract/",\ - "packageDependencies": [\ - ["es-abstract", "npm:1.23.9"],\ - ["array-buffer-byte-length", "npm:1.0.2"],\ - ["arraybuffer.prototype.slice", "npm:1.0.4"],\ - ["available-typed-arrays", "npm:1.0.7"],\ - ["call-bind", "npm:1.0.8"],\ - ["call-bound", "npm:1.0.3"],\ - ["data-view-buffer", "npm:1.0.2"],\ - ["data-view-byte-length", "npm:1.0.2"],\ - ["data-view-byte-offset", "npm:1.0.1"],\ - ["es-define-property", "npm:1.0.1"],\ - ["es-errors", "npm:1.3.0"],\ - ["es-object-atoms", "npm:1.1.1"],\ - ["es-set-tostringtag", "npm:2.1.0"],\ - ["es-to-primitive", "npm:1.3.0"],\ - ["function.prototype.name", "npm:1.1.8"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["get-proto", "npm:1.0.1"],\ - ["get-symbol-description", "npm:1.1.0"],\ - ["globalthis", "npm:1.0.4"],\ - ["gopd", "npm:1.2.0"],\ - ["has-property-descriptors", "npm:1.0.2"],\ - ["has-proto", "npm:1.2.0"],\ - ["has-symbols", "npm:1.1.0"],\ - ["hasown", "npm:2.0.2"],\ - ["internal-slot", "npm:1.1.0"],\ - ["is-array-buffer", "npm:3.0.5"],\ - ["is-callable", "npm:1.2.7"],\ - ["is-data-view", "npm:1.0.2"],\ - ["is-regex", "npm:1.2.1"],\ - ["is-shared-array-buffer", "npm:1.0.4"],\ - ["is-string", "npm:1.1.1"],\ - ["is-typed-array", "npm:1.1.15"],\ - ["is-weakref", "npm:1.1.0"],\ - ["math-intrinsics", "npm:1.1.0"],\ - ["object-inspect", "npm:1.13.3"],\ - ["object-keys", "npm:1.1.1"],\ - ["object.assign", "npm:4.1.7"],\ - ["own-keys", "npm:1.0.1"],\ - ["regexp.prototype.flags", "npm:1.5.4"],\ - ["safe-array-concat", "npm:1.1.3"],\ - ["safe-push-apply", "npm:1.0.0"],\ - ["safe-regex-test", "npm:1.1.0"],\ - ["set-proto", "npm:1.0.0"],\ - ["string.prototype.trim", "npm:1.2.10"],\ - ["string.prototype.trimend", "npm:1.0.9"],\ - ["string.prototype.trimstart", "npm:1.0.8"],\ - ["typed-array-buffer", "npm:1.0.3"],\ - ["typed-array-byte-length", "npm:1.0.3"],\ - ["typed-array-byte-offset", "npm:1.0.4"],\ - ["typed-array-length", "npm:1.0.7"],\ - ["unbox-primitive", "npm:1.1.0"],\ - ["which-typed-array", "npm:1.1.18"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["es-array-method-boxes-properly", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/es-array-method-boxes-properly-npm-1.0.0-d4bc728109-10.zip/node_modules/es-array-method-boxes-properly/",\ - "packageDependencies": [\ - ["es-array-method-boxes-properly", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["es-define-property", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/es-define-property-npm-1.0.1-3fc6324f1c-10.zip/node_modules/es-define-property/",\ - "packageDependencies": [\ - ["es-define-property", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["es-errors", [\ - ["npm:1.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/es-errors-npm-1.3.0-fda0c9b8a8-10.zip/node_modules/es-errors/",\ - "packageDependencies": [\ - ["es-errors", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["es-object-atoms", [\ - ["npm:1.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/es-object-atoms-npm-1.1.1-362d8043c2-10.zip/node_modules/es-object-atoms/",\ - "packageDependencies": [\ - ["es-object-atoms", "npm:1.1.1"],\ - ["es-errors", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["es-set-tostringtag", [\ - ["npm:2.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/es-set-tostringtag-npm-2.1.0-4e55705d3f-10.zip/node_modules/es-set-tostringtag/",\ - "packageDependencies": [\ - ["es-set-tostringtag", "npm:2.1.0"],\ - ["es-errors", "npm:1.3.0"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["has-tostringtag", "npm:1.0.2"],\ - ["hasown", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["es-to-primitive", [\ - ["npm:1.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/es-to-primitive-npm-1.3.0-470b6d51b6-10.zip/node_modules/es-to-primitive/",\ - "packageDependencies": [\ - ["es-to-primitive", "npm:1.3.0"],\ - ["is-callable", "npm:1.2.7"],\ - ["is-date-object", "npm:1.1.0"],\ - ["is-symbol", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["escalade", [\ - ["npm:3.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/escalade-npm-3.2.0-19b50dd48f-10.zip/node_modules/escalade/",\ - "packageDependencies": [\ - ["escalade", "npm:3.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["escape-string-regexp", [\ - ["npm:2.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10.zip/node_modules/escape-string-regexp/",\ - "packageDependencies": [\ - ["escape-string-regexp", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10.zip/node_modules/escape-string-regexp/",\ - "packageDependencies": [\ - ["escape-string-regexp", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint", [\ - ["npm:9.19.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/eslint-npm-9.19.0-e70f56e959-10.zip/node_modules/eslint/",\ - "packageDependencies": [\ - ["eslint", "npm:9.19.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-virtual-99cafbb662/6/.yarn/berry/cache/eslint-npm-9.19.0-e70f56e959-10.zip/node_modules/eslint/",\ - "packageDependencies": [\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["@eslint-community/eslint-utils", "virtual:1863e04770fa65a9147ee4524ebfc5d53049371a1c446d580193e6ed0ad4864c456c556a2d6be067e4cbcd1922a30082bd9ee3fecebfbc108af7d9a5b4ec761b#npm:4.4.1"],\ - ["@eslint-community/regexpp", "npm:4.12.1"],\ - ["@eslint/config-array", "npm:0.19.2"],\ - ["@eslint/core", "npm:0.10.0"],\ - ["@eslint/eslintrc", "npm:3.2.0"],\ - ["@eslint/js", "npm:9.19.0"],\ - ["@eslint/plugin-kit", "npm:0.2.5"],\ - ["@humanfs/node", "npm:0.16.6"],\ - ["@humanwhocodes/module-importer", "npm:1.0.1"],\ - ["@humanwhocodes/retry", "npm:0.4.1"],\ - ["@types/estree", "npm:1.0.6"],\ - ["@types/jiti", null],\ - ["@types/json-schema", "npm:7.0.15"],\ - ["ajv", "npm:6.12.6"],\ - ["chalk", "npm:4.1.2"],\ - ["cross-spawn", "npm:7.0.6"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["escape-string-regexp", "npm:4.0.0"],\ - ["eslint-scope", "npm:8.2.0"],\ - ["eslint-visitor-keys", "npm:4.2.0"],\ - ["espree", "npm:10.3.0"],\ - ["esquery", "npm:1.6.0"],\ - ["esutils", "npm:2.0.3"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["file-entry-cache", "npm:8.0.0"],\ - ["find-up", "npm:5.0.0"],\ - ["glob-parent", "npm:6.0.2"],\ - ["ignore", "npm:5.3.2"],\ - ["imurmurhash", "npm:0.1.4"],\ - ["is-glob", "npm:4.0.3"],\ - ["jiti", null],\ - ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\ - ["lodash.merge", "npm:4.6.2"],\ - ["minimatch", "npm:3.1.2"],\ - ["natural-compare", "npm:1.4.0"],\ - ["optionator", "npm:0.9.4"]\ - ],\ - "packagePeers": [\ - "@types/jiti",\ - "jiti"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-config-prettier", [\ - ["npm:9.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10.zip/node_modules/eslint-config-prettier/",\ - "packageDependencies": [\ - ["eslint-config-prettier", "npm:9.1.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:9.1.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-be9514a109/6/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10.zip/node_modules/eslint-config-prettier/",\ - "packageDependencies": [\ - ["eslint-config-prettier", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:9.1.0"],\ - ["@types/eslint", null],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-plugin-jest", [\ - ["npm:28.11.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/eslint-plugin-jest-npm-28.11.0-a208fceab5-10.zip/node_modules/eslint-plugin-jest/",\ - "packageDependencies": [\ - ["eslint-plugin-jest", "npm:28.11.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:28.11.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-jest-virtual-89fe24ffc4/6/.yarn/berry/cache/eslint-plugin-jest-npm-28.11.0-a208fceab5-10.zip/node_modules/eslint-plugin-jest/",\ - "packageDependencies": [\ - ["eslint-plugin-jest", "virtual:24e1be29e6ac363f977ace158f5a1264352ba61509f79a8188ed619d1b658632d7ec0d0e05502ac33c037d26bce3545754455c6e41cb50315c03065cd6643cab#npm:28.11.0"],\ - ["@types/eslint", null],\ - ["@types/jest", null],\ - ["@types/typescript-eslint__eslint-plugin", null],\ - ["@typescript-eslint/eslint-plugin", null],\ - ["@typescript-eslint/utils", "virtual:1b19ec744e249ebe6ea2a6cdca70496a020427e774ceba2c416875d4437aa581adb4c20262b3d46127087d3d5c26751962e16aee89940c9a82955c75070f55a7#npm:8.22.0"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["jest", null]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/jest",\ - "@types/typescript-eslint__eslint-plugin",\ - "@typescript-eslint/eslint-plugin",\ - "eslint",\ - "jest"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-scope", [\ - ["npm:8.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/eslint-scope-npm-8.2.0-d74e314c9e-10.zip/node_modules/eslint-scope/",\ - "packageDependencies": [\ - ["eslint-scope", "npm:8.2.0"],\ - ["esrecurse", "npm:4.3.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-visitor-keys", [\ - ["npm:3.4.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10.zip/node_modules/eslint-visitor-keys/",\ - "packageDependencies": [\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/eslint-visitor-keys-npm-4.2.0-a591434af3-10.zip/node_modules/eslint-visitor-keys/",\ - "packageDependencies": [\ - ["eslint-visitor-keys", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["espree", [\ - ["npm:10.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/espree-npm-10.3.0-e5b10052f5-10.zip/node_modules/espree/",\ - "packageDependencies": [\ - ["espree", "npm:10.3.0"],\ - ["acorn", "npm:8.14.0"],\ - ["acorn-jsx", "virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2"],\ - ["eslint-visitor-keys", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esprima", [\ - ["npm:4.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/esprima-npm-4.0.1-1084e98778-10.zip/node_modules/esprima/",\ - "packageDependencies": [\ - ["esprima", "npm:4.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esquery", [\ - ["npm:1.6.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/esquery-npm-1.6.0-16fee31531-10.zip/node_modules/esquery/",\ - "packageDependencies": [\ - ["esquery", "npm:1.6.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esrecurse", [\ - ["npm:4.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10.zip/node_modules/esrecurse/",\ - "packageDependencies": [\ - ["esrecurse", "npm:4.3.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["estraverse", [\ - ["npm:5.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10.zip/node_modules/estraverse/",\ - "packageDependencies": [\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esutils", [\ - ["npm:2.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10.zip/node_modules/esutils/",\ - "packageDependencies": [\ - ["esutils", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["execa", [\ - ["npm:5.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/execa-npm-5.1.1-191347acf5-10.zip/node_modules/execa/",\ - "packageDependencies": [\ - ["execa", "npm:5.1.1"],\ - ["cross-spawn", "npm:7.0.6"],\ - ["get-stream", "npm:6.0.1"],\ - ["human-signals", "npm:2.1.0"],\ - ["is-stream", "npm:2.0.1"],\ - ["merge-stream", "npm:2.0.0"],\ - ["npm-run-path", "npm:4.0.1"],\ - ["onetime", "npm:5.1.2"],\ - ["signal-exit", "npm:3.0.7"],\ - ["strip-final-newline", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["exit", [\ - ["npm:0.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/exit-npm-0.1.2-ef3761a67d-10.zip/node_modules/exit/",\ - "packageDependencies": [\ - ["exit", "npm:0.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["expect", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/expect-npm-29.7.0-62e9f7979e-10.zip/node_modules/expect/",\ - "packageDependencies": [\ - ["expect", "npm:29.7.0"],\ - ["@jest/expect-utils", "npm:29.7.0"],\ - ["jest-get-type", "npm:29.6.3"],\ - ["jest-matcher-utils", "npm:29.7.0"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["exponential-backoff", [\ - ["npm:3.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/exponential-backoff-npm-3.1.1-04df458b30-10.zip/node_modules/exponential-backoff/",\ - "packageDependencies": [\ - ["exponential-backoff", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-deep-equal", [\ - ["npm:3.1.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10.zip/node_modules/fast-deep-equal/",\ - "packageDependencies": [\ - ["fast-deep-equal", "npm:3.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-glob", [\ - ["npm:3.3.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/fast-glob-npm-3.3.3-2a653be532-10.zip/node_modules/fast-glob/",\ - "packageDependencies": [\ - ["fast-glob", "npm:3.3.3"],\ - ["@nodelib/fs.stat", "npm:2.0.5"],\ - ["@nodelib/fs.walk", "npm:1.2.8"],\ - ["glob-parent", "npm:5.1.2"],\ - ["merge2", "npm:1.4.1"],\ - ["micromatch", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-json-stable-stringify", [\ - ["npm:2.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10.zip/node_modules/fast-json-stable-stringify/",\ - "packageDependencies": [\ - ["fast-json-stable-stringify", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-levenshtein", [\ - ["npm:2.0.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10.zip/node_modules/fast-levenshtein/",\ - "packageDependencies": [\ - ["fast-levenshtein", "npm:2.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fastq", [\ - ["npm:1.19.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/fastq-npm-1.19.0-5e2713df98-10.zip/node_modules/fastq/",\ - "packageDependencies": [\ - ["fastq", "npm:1.19.0"],\ - ["reusify", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fb-watchman", [\ - ["npm:2.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/fb-watchman-npm-2.0.2-bcb6f8f831-10.zip/node_modules/fb-watchman/",\ - "packageDependencies": [\ - ["fb-watchman", "npm:2.0.2"],\ - ["bser", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["file-entry-cache", [\ - ["npm:8.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/file-entry-cache-npm-8.0.0-5b09d19a83-10.zip/node_modules/file-entry-cache/",\ - "packageDependencies": [\ - ["file-entry-cache", "npm:8.0.0"],\ - ["flat-cache", "npm:4.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fill-range", [\ - ["npm:7.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/fill-range-npm-7.1.1-bf491486db-10.zip/node_modules/fill-range/",\ - "packageDependencies": [\ - ["fill-range", "npm:7.1.1"],\ - ["to-regex-range", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["find-cache-dir", [\ - ["npm:2.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/find-cache-dir-npm-2.1.0-772aa82638-10.zip/node_modules/find-cache-dir/",\ - "packageDependencies": [\ - ["find-cache-dir", "npm:2.1.0"],\ - ["commondir", "npm:1.0.1"],\ - ["make-dir", "npm:2.1.0"],\ - ["pkg-dir", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["find-up", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/find-up-npm-3.0.0-a2d4b1b317-10.zip/node_modules/find-up/",\ - "packageDependencies": [\ - ["find-up", "npm:3.0.0"],\ - ["locate-path", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/find-up-npm-4.1.0-c3ccf8d855-10.zip/node_modules/find-up/",\ - "packageDependencies": [\ - ["find-up", "npm:4.1.0"],\ - ["locate-path", "npm:5.0.0"],\ - ["path-exists", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10.zip/node_modules/find-up/",\ - "packageDependencies": [\ - ["find-up", "npm:5.0.0"],\ - ["locate-path", "npm:6.0.0"],\ - ["path-exists", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["flat-cache", [\ - ["npm:4.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/flat-cache-npm-4.0.1-12bf2455f7-10.zip/node_modules/flat-cache/",\ - "packageDependencies": [\ - ["flat-cache", "npm:4.0.1"],\ - ["flatted", "npm:3.3.2"],\ - ["keyv", "npm:4.5.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["flatted", [\ - ["npm:3.3.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/flatted-npm-3.3.2-6bf77e6e67-10.zip/node_modules/flatted/",\ - "packageDependencies": [\ - ["flatted", "npm:3.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["for-each", [\ - ["npm:0.3.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/for-each-npm-0.3.4-9925a6ce6e-10.zip/node_modules/for-each/",\ - "packageDependencies": [\ - ["for-each", "npm:0.3.4"],\ - ["is-callable", "npm:1.2.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["foreground-child", [\ - ["npm:3.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/foreground-child-npm-3.3.0-b8be745271-10.zip/node_modules/foreground-child/",\ - "packageDependencies": [\ - ["foreground-child", "npm:3.3.0"],\ - ["cross-spawn", "npm:7.0.6"],\ - ["signal-exit", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fs-minipass", [\ - ["npm:3.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10.zip/node_modules/fs-minipass/",\ - "packageDependencies": [\ - ["fs-minipass", "npm:3.0.3"],\ - ["minipass", "npm:7.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fs.realpath", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10.zip/node_modules/fs.realpath/",\ - "packageDependencies": [\ - ["fs.realpath", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fsevents", [\ - ["patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1", {\ - "packageLocation": "./.yarn/unplugged/fsevents-patch-6b67494872/node_modules/fsevents/",\ - "packageDependencies": [\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["node-gyp", "npm:11.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["function-bind", [\ - ["npm:1.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/function-bind-npm-1.1.2-7a55be9b03-10.zip/node_modules/function-bind/",\ - "packageDependencies": [\ - ["function-bind", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["function.prototype.name", [\ - ["npm:1.1.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/function.prototype.name-npm-1.1.8-2cf198aac8-10.zip/node_modules/function.prototype.name/",\ - "packageDependencies": [\ - ["function.prototype.name", "npm:1.1.8"],\ - ["call-bind", "npm:1.0.8"],\ - ["call-bound", "npm:1.0.3"],\ - ["define-properties", "npm:1.2.1"],\ - ["functions-have-names", "npm:1.2.3"],\ - ["hasown", "npm:2.0.2"],\ - ["is-callable", "npm:1.2.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["functions-have-names", [\ - ["npm:1.2.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/functions-have-names-npm-1.2.3-e5cf1e2208-10.zip/node_modules/functions-have-names/",\ - "packageDependencies": [\ - ["functions-have-names", "npm:1.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["gensync", [\ - ["npm:1.0.0-beta.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/gensync-npm-1.0.0-beta.2-224666d72f-10.zip/node_modules/gensync/",\ - "packageDependencies": [\ - ["gensync", "npm:1.0.0-beta.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-caller-file", [\ - ["npm:2.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/get-caller-file-npm-2.0.5-80e8a86305-10.zip/node_modules/get-caller-file/",\ - "packageDependencies": [\ - ["get-caller-file", "npm:2.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-intrinsic", [\ - ["npm:1.2.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/get-intrinsic-npm-1.2.7-2e0e0e7564-10.zip/node_modules/get-intrinsic/",\ - "packageDependencies": [\ - ["get-intrinsic", "npm:1.2.7"],\ - ["call-bind-apply-helpers", "npm:1.0.1"],\ - ["es-define-property", "npm:1.0.1"],\ - ["es-errors", "npm:1.3.0"],\ - ["es-object-atoms", "npm:1.1.1"],\ - ["function-bind", "npm:1.1.2"],\ - ["get-proto", "npm:1.0.1"],\ - ["gopd", "npm:1.2.0"],\ - ["has-symbols", "npm:1.1.0"],\ - ["hasown", "npm:2.0.2"],\ - ["math-intrinsics", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-package-type", [\ - ["npm:0.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/get-package-type-npm-0.1.0-6c70cdc8ab-10.zip/node_modules/get-package-type/",\ - "packageDependencies": [\ - ["get-package-type", "npm:0.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-proto", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/get-proto-npm-1.0.1-4d30bac614-10.zip/node_modules/get-proto/",\ - "packageDependencies": [\ - ["get-proto", "npm:1.0.1"],\ - ["dunder-proto", "npm:1.0.1"],\ - ["es-object-atoms", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-stream", [\ - ["npm:6.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/get-stream-npm-6.0.1-83e51a4642-10.zip/node_modules/get-stream/",\ - "packageDependencies": [\ - ["get-stream", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-symbol-description", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/get-symbol-description-npm-1.1.0-7a9e0b1c24-10.zip/node_modules/get-symbol-description/",\ - "packageDependencies": [\ - ["get-symbol-description", "npm:1.1.0"],\ - ["call-bound", "npm:1.0.3"],\ - ["es-errors", "npm:1.3.0"],\ - ["get-intrinsic", "npm:1.2.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["glob", [\ - ["npm:10.4.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/glob-npm-10.4.5-8c63175f05-10.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:10.4.5"],\ - ["foreground-child", "npm:3.3.0"],\ - ["jackspeak", "npm:3.4.3"],\ - ["minimatch", "npm:9.0.5"],\ - ["minipass", "npm:7.1.2"],\ - ["package-json-from-dist", "npm:1.0.1"],\ - ["path-scurry", "npm:1.11.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.2.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:7.2.3"],\ - ["fs.realpath", "npm:1.0.0"],\ - ["inflight", "npm:1.0.6"],\ - ["inherits", "npm:2.0.4"],\ - ["minimatch", "npm:3.1.2"],\ - ["once", "npm:1.4.0"],\ - ["path-is-absolute", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["glob-parent", [\ - ["npm:5.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10.zip/node_modules/glob-parent/",\ - "packageDependencies": [\ - ["glob-parent", "npm:5.1.2"],\ - ["is-glob", "npm:4.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10.zip/node_modules/glob-parent/",\ - "packageDependencies": [\ - ["glob-parent", "npm:6.0.2"],\ - ["is-glob", "npm:4.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["globals", [\ - ["npm:11.12.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/globals-npm-11.12.0-1fa7f41a6c-10.zip/node_modules/globals/",\ - "packageDependencies": [\ - ["globals", "npm:11.12.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:14.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/globals-npm-14.0.0-5fc3d8d5da-10.zip/node_modules/globals/",\ - "packageDependencies": [\ - ["globals", "npm:14.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:15.14.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/globals-npm-15.14.0-1cb78aecb8-10.zip/node_modules/globals/",\ - "packageDependencies": [\ - ["globals", "npm:15.14.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["globalthis", [\ - ["npm:1.0.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/globalthis-npm-1.0.4-de22ac6193-10.zip/node_modules/globalthis/",\ - "packageDependencies": [\ - ["globalthis", "npm:1.0.4"],\ - ["define-properties", "npm:1.2.1"],\ - ["gopd", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["gopd", [\ - ["npm:1.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/gopd-npm-1.2.0-df89ffa78e-10.zip/node_modules/gopd/",\ - "packageDependencies": [\ - ["gopd", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["graceful-fs", [\ - ["npm:4.2.11", {\ - "packageLocation": "../../../../../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10.zip/node_modules/graceful-fs/",\ - "packageDependencies": [\ - ["graceful-fs", "npm:4.2.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["graphemer", [\ - ["npm:1.4.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10.zip/node_modules/graphemer/",\ - "packageDependencies": [\ - ["graphemer", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-bigints", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/has-bigints-npm-1.1.0-d481f8ed50-10.zip/node_modules/has-bigints/",\ - "packageDependencies": [\ - ["has-bigints", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-flag", [\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10.zip/node_modules/has-flag/",\ - "packageDependencies": [\ - ["has-flag", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-property-descriptors", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/has-property-descriptors-npm-1.0.2-d7077d09f1-10.zip/node_modules/has-property-descriptors/",\ - "packageDependencies": [\ - ["has-property-descriptors", "npm:1.0.2"],\ - ["es-define-property", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-proto", [\ - ["npm:1.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/has-proto-npm-1.2.0-0108d177d3-10.zip/node_modules/has-proto/",\ - "packageDependencies": [\ - ["has-proto", "npm:1.2.0"],\ - ["dunder-proto", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-symbols", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/has-symbols-npm-1.1.0-9aa7dc2ac1-10.zip/node_modules/has-symbols/",\ - "packageDependencies": [\ - ["has-symbols", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-tostringtag", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/has-tostringtag-npm-1.0.2-74a4800369-10.zip/node_modules/has-tostringtag/",\ - "packageDependencies": [\ - ["has-tostringtag", "npm:1.0.2"],\ - ["has-symbols", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["hasown", [\ - ["npm:2.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/hasown-npm-2.0.2-80fe6c9901-10.zip/node_modules/hasown/",\ - "packageDependencies": [\ - ["hasown", "npm:2.0.2"],\ - ["function-bind", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["homedir-polyfill", [\ - ["npm:1.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/homedir-polyfill-npm-1.0.3-da1a29ce00-10.zip/node_modules/homedir-polyfill/",\ - "packageDependencies": [\ - ["homedir-polyfill", "npm:1.0.3"],\ - ["parse-passwd", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["html-escaper", [\ - ["npm:2.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10.zip/node_modules/html-escaper/",\ - "packageDependencies": [\ - ["html-escaper", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["http-cache-semantics", [\ - ["npm:4.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10.zip/node_modules/http-cache-semantics/",\ - "packageDependencies": [\ - ["http-cache-semantics", "npm:4.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["http-proxy-agent", [\ - ["npm:7.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-10.zip/node_modules/http-proxy-agent/",\ - "packageDependencies": [\ - ["http-proxy-agent", "npm:7.0.2"],\ - ["agent-base", "npm:7.1.3"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["https-proxy-agent", [\ - ["npm:7.0.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/https-proxy-agent-npm-7.0.6-27a95c2690-10.zip/node_modules/https-proxy-agent/",\ - "packageDependencies": [\ - ["https-proxy-agent", "npm:7.0.6"],\ - ["agent-base", "npm:7.1.3"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["human-signals", [\ - ["npm:2.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/human-signals-npm-2.1.0-f75815481d-10.zip/node_modules/human-signals/",\ - "packageDependencies": [\ - ["human-signals", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["iconv-lite", [\ - ["npm:0.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10.zip/node_modules/iconv-lite/",\ - "packageDependencies": [\ - ["iconv-lite", "npm:0.6.3"],\ - ["safer-buffer", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ignore", [\ - ["npm:5.3.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ignore-npm-5.3.2-346d3ba017-10.zip/node_modules/ignore/",\ - "packageDependencies": [\ - ["ignore", "npm:5.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["import-fresh", [\ - ["npm:3.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/import-fresh-npm-3.3.0-3e34265ca9-10.zip/node_modules/import-fresh/",\ - "packageDependencies": [\ - ["import-fresh", "npm:3.3.0"],\ - ["parent-module", "npm:1.0.1"],\ - ["resolve-from", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["import-local", [\ - ["npm:3.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/import-local-npm-3.2.0-bf54ec7842-10.zip/node_modules/import-local/",\ - "packageDependencies": [\ - ["import-local", "npm:3.2.0"],\ - ["pkg-dir", "npm:4.2.0"],\ - ["resolve-cwd", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["imurmurhash", [\ - ["npm:0.1.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10.zip/node_modules/imurmurhash/",\ - "packageDependencies": [\ - ["imurmurhash", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["inflight", [\ - ["npm:1.0.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10.zip/node_modules/inflight/",\ - "packageDependencies": [\ - ["inflight", "npm:1.0.6"],\ - ["once", "npm:1.4.0"],\ - ["wrappy", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["inherits", [\ - ["npm:2.0.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10.zip/node_modules/inherits/",\ - "packageDependencies": [\ - ["inherits", "npm:2.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["internal-slot", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/internal-slot-npm-1.1.0-269ac0e8be-10.zip/node_modules/internal-slot/",\ - "packageDependencies": [\ - ["internal-slot", "npm:1.1.0"],\ - ["es-errors", "npm:1.3.0"],\ - ["hasown", "npm:2.0.2"],\ - ["side-channel", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ip-address", [\ - ["npm:9.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ip-address-npm-9.0.5-9fa024d42a-10.zip/node_modules/ip-address/",\ - "packageDependencies": [\ - ["ip-address", "npm:9.0.5"],\ - ["jsbn", "npm:1.1.0"],\ - ["sprintf-js", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-array-buffer", [\ - ["npm:3.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-array-buffer-npm-3.0.5-8f0828e156-10.zip/node_modules/is-array-buffer/",\ - "packageDependencies": [\ - ["is-array-buffer", "npm:3.0.5"],\ - ["call-bind", "npm:1.0.8"],\ - ["call-bound", "npm:1.0.3"],\ - ["get-intrinsic", "npm:1.2.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-arrayish", [\ - ["npm:0.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-arrayish-npm-0.2.1-23927dfb15-10.zip/node_modules/is-arrayish/",\ - "packageDependencies": [\ - ["is-arrayish", "npm:0.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-async-function", [\ - ["npm:2.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-async-function-npm-2.1.1-547309fbf2-10.zip/node_modules/is-async-function/",\ - "packageDependencies": [\ - ["is-async-function", "npm:2.1.1"],\ - ["async-function", "npm:1.0.0"],\ - ["call-bound", "npm:1.0.3"],\ - ["get-proto", "npm:1.0.1"],\ - ["has-tostringtag", "npm:1.0.2"],\ - ["safe-regex-test", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-bigint", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-bigint-npm-1.1.0-963b4e89e1-10.zip/node_modules/is-bigint/",\ - "packageDependencies": [\ - ["is-bigint", "npm:1.1.0"],\ - ["has-bigints", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-boolean-object", [\ - ["npm:1.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-boolean-object-npm-1.2.1-ac39eabf5e-10.zip/node_modules/is-boolean-object/",\ - "packageDependencies": [\ - ["is-boolean-object", "npm:1.2.1"],\ - ["call-bound", "npm:1.0.3"],\ - ["has-tostringtag", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-callable", [\ - ["npm:1.2.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-callable-npm-1.2.7-808a303e61-10.zip/node_modules/is-callable/",\ - "packageDependencies": [\ - ["is-callable", "npm:1.2.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-core-module", [\ - ["npm:2.16.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-core-module-npm-2.16.1-a54837229e-10.zip/node_modules/is-core-module/",\ - "packageDependencies": [\ - ["is-core-module", "npm:2.16.1"],\ - ["hasown", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-data-view", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-data-view-npm-1.0.2-8a9e34c5e6-10.zip/node_modules/is-data-view/",\ - "packageDependencies": [\ - ["is-data-view", "npm:1.0.2"],\ - ["call-bound", "npm:1.0.3"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["is-typed-array", "npm:1.1.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-date-object", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-date-object-npm-1.1.0-c444eba828-10.zip/node_modules/is-date-object/",\ - "packageDependencies": [\ - ["is-date-object", "npm:1.1.0"],\ - ["call-bound", "npm:1.0.3"],\ - ["has-tostringtag", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-extglob", [\ - ["npm:2.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10.zip/node_modules/is-extglob/",\ - "packageDependencies": [\ - ["is-extglob", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-finalizationregistry", [\ - ["npm:1.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-finalizationregistry-npm-1.1.1-f9cad6c9aa-10.zip/node_modules/is-finalizationregistry/",\ - "packageDependencies": [\ - ["is-finalizationregistry", "npm:1.1.1"],\ - ["call-bound", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-fullwidth-code-point", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10.zip/node_modules/is-fullwidth-code-point/",\ - "packageDependencies": [\ - ["is-fullwidth-code-point", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-generator-fn", [\ - ["npm:2.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-generator-fn-npm-2.1.0-37895c2d2b-10.zip/node_modules/is-generator-fn/",\ - "packageDependencies": [\ - ["is-generator-fn", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-generator-function", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-generator-function-npm-1.1.0-e96e2ba973-10.zip/node_modules/is-generator-function/",\ - "packageDependencies": [\ - ["is-generator-function", "npm:1.1.0"],\ - ["call-bound", "npm:1.0.3"],\ - ["get-proto", "npm:1.0.1"],\ - ["has-tostringtag", "npm:1.0.2"],\ - ["safe-regex-test", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-glob", [\ - ["npm:4.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10.zip/node_modules/is-glob/",\ - "packageDependencies": [\ - ["is-glob", "npm:4.0.3"],\ - ["is-extglob", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-map", [\ - ["npm:2.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-map-npm-2.0.3-9e061e76e3-10.zip/node_modules/is-map/",\ - "packageDependencies": [\ - ["is-map", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-number", [\ - ["npm:7.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10.zip/node_modules/is-number/",\ - "packageDependencies": [\ - ["is-number", "npm:7.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-number-object", [\ - ["npm:1.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-number-object-npm-1.1.1-010c417fc6-10.zip/node_modules/is-number-object/",\ - "packageDependencies": [\ - ["is-number-object", "npm:1.1.1"],\ - ["call-bound", "npm:1.0.3"],\ - ["has-tostringtag", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-plain-object", [\ - ["npm:2.0.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-plain-object-npm-2.0.4-da3265d804-10.zip/node_modules/is-plain-object/",\ - "packageDependencies": [\ - ["is-plain-object", "npm:2.0.4"],\ - ["isobject", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-regex", [\ - ["npm:1.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-regex-npm-1.2.1-70a484f2c8-10.zip/node_modules/is-regex/",\ - "packageDependencies": [\ - ["is-regex", "npm:1.2.1"],\ - ["call-bound", "npm:1.0.3"],\ - ["gopd", "npm:1.2.0"],\ - ["has-tostringtag", "npm:1.0.2"],\ - ["hasown", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-set", [\ - ["npm:2.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-set-npm-2.0.3-1b72c9a855-10.zip/node_modules/is-set/",\ - "packageDependencies": [\ - ["is-set", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-shared-array-buffer", [\ - ["npm:1.0.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-shared-array-buffer-npm-1.0.4-70c977585b-10.zip/node_modules/is-shared-array-buffer/",\ - "packageDependencies": [\ - ["is-shared-array-buffer", "npm:1.0.4"],\ - ["call-bound", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-stream", [\ - ["npm:2.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-stream-npm-2.0.1-c802db55e7-10.zip/node_modules/is-stream/",\ - "packageDependencies": [\ - ["is-stream", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-string", [\ - ["npm:1.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-string-npm-1.1.1-d2c4f9f448-10.zip/node_modules/is-string/",\ - "packageDependencies": [\ - ["is-string", "npm:1.1.1"],\ - ["call-bound", "npm:1.0.3"],\ - ["has-tostringtag", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-symbol", [\ - ["npm:1.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-symbol-npm-1.1.1-f17b666ca9-10.zip/node_modules/is-symbol/",\ - "packageDependencies": [\ - ["is-symbol", "npm:1.1.1"],\ - ["call-bound", "npm:1.0.3"],\ - ["has-symbols", "npm:1.1.0"],\ - ["safe-regex-test", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-typed-array", [\ - ["npm:1.1.15", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-typed-array-npm-1.1.15-33aa18e28f-10.zip/node_modules/is-typed-array/",\ - "packageDependencies": [\ - ["is-typed-array", "npm:1.1.15"],\ - ["which-typed-array", "npm:1.1.18"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-weakmap", [\ - ["npm:2.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-weakmap-npm-2.0.2-ced3cab2dc-10.zip/node_modules/is-weakmap/",\ - "packageDependencies": [\ - ["is-weakmap", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-weakref", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-weakref-npm-1.1.0-65d773cc3c-10.zip/node_modules/is-weakref/",\ - "packageDependencies": [\ - ["is-weakref", "npm:1.1.0"],\ - ["call-bound", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-weakset", [\ - ["npm:2.0.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/is-weakset-npm-2.0.4-155b83e84b-10.zip/node_modules/is-weakset/",\ - "packageDependencies": [\ - ["is-weakset", "npm:2.0.4"],\ - ["call-bound", "npm:1.0.3"],\ - ["get-intrinsic", "npm:1.2.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["isarray", [\ - ["npm:2.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/isarray-npm-2.0.5-4ba522212d-10.zip/node_modules/isarray/",\ - "packageDependencies": [\ - ["isarray", "npm:2.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["isexe", [\ - ["npm:2.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10.zip/node_modules/isexe/",\ - "packageDependencies": [\ - ["isexe", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10.zip/node_modules/isexe/",\ - "packageDependencies": [\ - ["isexe", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["isobject", [\ - ["npm:3.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/isobject-npm-3.0.1-8145901fd2-10.zip/node_modules/isobject/",\ - "packageDependencies": [\ - ["isobject", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-coverage", [\ - ["npm:3.2.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10.zip/node_modules/istanbul-lib-coverage/",\ - "packageDependencies": [\ - ["istanbul-lib-coverage", "npm:3.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-instrument", [\ - ["npm:5.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-instrument-npm-5.2.1-1b3ad719a9-10.zip/node_modules/istanbul-lib-instrument/",\ - "packageDependencies": [\ - ["istanbul-lib-instrument", "npm:5.2.1"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/parser", "npm:7.26.7"],\ - ["@istanbuljs/schema", "npm:0.1.3"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["semver", "npm:6.3.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-instrument-npm-6.0.3-959dca7404-10.zip/node_modules/istanbul-lib-instrument/",\ - "packageDependencies": [\ - ["istanbul-lib-instrument", "npm:6.0.3"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/parser", "npm:7.26.7"],\ - ["@istanbuljs/schema", "npm:0.1.3"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["semver", "npm:7.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-report", [\ - ["npm:3.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10.zip/node_modules/istanbul-lib-report/",\ - "packageDependencies": [\ - ["istanbul-lib-report", "npm:3.0.1"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["make-dir", "npm:4.0.0"],\ - ["supports-color", "npm:7.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-source-maps", [\ - ["npm:4.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10.zip/node_modules/istanbul-lib-source-maps/",\ - "packageDependencies": [\ - ["istanbul-lib-source-maps", "npm:4.0.1"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["source-map", "npm:0.6.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-reports", [\ - ["npm:3.1.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/istanbul-reports-npm-3.1.7-356486c0f4-10.zip/node_modules/istanbul-reports/",\ - "packageDependencies": [\ - ["istanbul-reports", "npm:3.1.7"],\ - ["html-escaper", "npm:2.0.2"],\ - ["istanbul-lib-report", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jackspeak", [\ - ["npm:3.4.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jackspeak-npm-3.4.3-546bfad080-10.zip/node_modules/jackspeak/",\ - "packageDependencies": [\ - ["jackspeak", "npm:3.4.3"],\ - ["@isaacs/cliui", "npm:8.0.2"],\ - ["@pkgjs/parseargs", "npm:0.11.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-npm-29.7.0-d8dd095b81-10.zip/node_modules/jest/",\ - "packageDependencies": [\ - ["jest", "npm:29.7.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/jest-virtual-36b9ac28e7/6/.yarn/berry/cache/jest-npm-29.7.0-d8dd095b81-10.zip/node_modules/jest/",\ - "packageDependencies": [\ - ["jest", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:29.7.0"],\ - ["@jest/core", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node-notifier", null],\ - ["import-local", "npm:3.2.0"],\ - ["jest-cli", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ - ["node-notifier", null]\ - ],\ - "packagePeers": [\ - "@types/node-notifier",\ - "node-notifier"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-changed-files", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-changed-files-npm-29.7.0-c2dcd10525-10.zip/node_modules/jest-changed-files/",\ - "packageDependencies": [\ - ["jest-changed-files", "npm:29.7.0"],\ - ["execa", "npm:5.1.1"],\ - ["jest-util", "npm:29.7.0"],\ - ["p-limit", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-circus", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-circus-npm-29.7.0-f7679858c6-10.zip/node_modules/jest-circus/",\ - "packageDependencies": [\ - ["jest-circus", "npm:29.7.0"],\ - ["@jest/environment", "npm:29.7.0"],\ - ["@jest/expect", "npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["chalk", "npm:4.1.2"],\ - ["co", "npm:4.6.0"],\ - ["dedent", "virtual:f7679858c638e2e5ade31901dd2b1e5007918fdc7d84fefb11f4200f46ba2e43b9d662fb793507b517bb1e725144e51f6d68f60f9f6100fd52144f042f58f0bc#npm:1.5.3"],\ - ["is-generator-fn", "npm:2.1.0"],\ - ["jest-each", "npm:29.7.0"],\ - ["jest-matcher-utils", "npm:29.7.0"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-runtime", "npm:29.7.0"],\ - ["jest-snapshot", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["p-limit", "npm:3.1.0"],\ - ["pretty-format", "npm:29.7.0"],\ - ["pure-rand", "npm:6.1.0"],\ - ["slash", "npm:3.0.0"],\ - ["stack-utils", "npm:2.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-cli", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-cli-npm-29.7.0-9adb356180-10.zip/node_modules/jest-cli/",\ - "packageDependencies": [\ - ["jest-cli", "npm:29.7.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/jest-cli-virtual-f589f5e74d/6/.yarn/berry/cache/jest-cli-npm-29.7.0-9adb356180-10.zip/node_modules/jest-cli/",\ - "packageDependencies": [\ - ["jest-cli", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ - ["@jest/core", "virtual:36b9ac28e74fc14c82f7a4d35bc86793ad5e3eadea6a8ac2724726addae91175f891c896869dc46ac5a004fdf476617bb4fd83ca44a361a8fd1125e3920fbd65#npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node-notifier", null],\ - ["chalk", "npm:4.1.2"],\ - ["create-jest", "npm:29.7.0"],\ - ["exit", "npm:0.1.2"],\ - ["import-local", "npm:3.2.0"],\ - ["jest-config", "virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-validate", "npm:29.7.0"],\ - ["node-notifier", null],\ - ["yargs", "npm:17.7.2"]\ - ],\ - "packagePeers": [\ - "@types/node-notifier",\ - "node-notifier"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-config", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-config-npm-29.7.0-97d8544d74-10.zip/node_modules/jest-config/",\ - "packageDependencies": [\ - ["jest-config", "npm:29.7.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/jest-config-virtual-50f60b8422/6/.yarn/berry/cache/jest-config-npm-29.7.0-97d8544d74-10.zip/node_modules/jest-config/",\ - "packageDependencies": [\ - ["jest-config", "virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@jest/test-sequencer", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", null],\ - ["@types/ts-node", null],\ - ["babel-jest", "virtual:084d56f2e02accc93077937a3791d450ffcf1772776998237a61731f47b51e7cd5bcd94d9dc3171351c5d5b9a521ad7d47a3208c06054ea4dcf216d5f27c66d9#npm:29.7.0"],\ - ["chalk", "npm:4.1.2"],\ - ["ci-info", "npm:3.9.0"],\ - ["deepmerge", "npm:4.3.1"],\ - ["glob", "npm:7.2.3"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-circus", "npm:29.7.0"],\ - ["jest-environment-node", "npm:29.7.0"],\ - ["jest-get-type", "npm:29.6.3"],\ - ["jest-regex-util", "npm:29.6.3"],\ - ["jest-resolve", "npm:29.7.0"],\ - ["jest-runner", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-validate", "npm:29.7.0"],\ - ["micromatch", "npm:4.0.8"],\ - ["parse-json", "npm:5.2.0"],\ - ["pretty-format", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"],\ - ["strip-json-comments", "npm:3.1.1"],\ - ["ts-node", null]\ - ],\ - "packagePeers": [\ - "@types/node",\ - "@types/ts-node",\ - "ts-node"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/jest-config-virtual-084d56f2e0/6/.yarn/berry/cache/jest-config-npm-29.7.0-97d8544d74-10.zip/node_modules/jest-config/",\ - "packageDependencies": [\ - ["jest-config", "virtual:b4af133f429695b234bc5540e36edeedeaa72c39177a0d7119a412ca19f62f04bed1f529516b703d207335bc7b8312c1e99ebd471ba91996c7a6d7ecc1d00ec7#npm:29.7.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@jest/test-sequencer", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["@types/ts-node", null],\ - ["babel-jest", "virtual:084d56f2e02accc93077937a3791d450ffcf1772776998237a61731f47b51e7cd5bcd94d9dc3171351c5d5b9a521ad7d47a3208c06054ea4dcf216d5f27c66d9#npm:29.7.0"],\ - ["chalk", "npm:4.1.2"],\ - ["ci-info", "npm:3.9.0"],\ - ["deepmerge", "npm:4.3.1"],\ - ["glob", "npm:7.2.3"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-circus", "npm:29.7.0"],\ - ["jest-environment-node", "npm:29.7.0"],\ - ["jest-get-type", "npm:29.6.3"],\ - ["jest-regex-util", "npm:29.6.3"],\ - ["jest-resolve", "npm:29.7.0"],\ - ["jest-runner", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-validate", "npm:29.7.0"],\ - ["micromatch", "npm:4.0.8"],\ - ["parse-json", "npm:5.2.0"],\ - ["pretty-format", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"],\ - ["strip-json-comments", "npm:3.1.1"],\ - ["ts-node", null]\ - ],\ - "packagePeers": [\ - "@types/node",\ - "@types/ts-node",\ - "ts-node"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-diff", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-diff-npm-29.7.0-0149e01930-10.zip/node_modules/jest-diff/",\ - "packageDependencies": [\ - ["jest-diff", "npm:29.7.0"],\ - ["chalk", "npm:4.1.2"],\ - ["diff-sequences", "npm:29.6.3"],\ - ["jest-get-type", "npm:29.6.3"],\ - ["pretty-format", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-docblock", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-docblock-npm-29.7.0-ec59f449dd-10.zip/node_modules/jest-docblock/",\ - "packageDependencies": [\ - ["jest-docblock", "npm:29.7.0"],\ - ["detect-newline", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-each", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-each-npm-29.7.0-93476f5ba0-10.zip/node_modules/jest-each/",\ - "packageDependencies": [\ - ["jest-each", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["chalk", "npm:4.1.2"],\ - ["jest-get-type", "npm:29.6.3"],\ - ["jest-util", "npm:29.7.0"],\ - ["pretty-format", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-environment-node", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-environment-node-npm-29.7.0-860b5e25ec-10.zip/node_modules/jest-environment-node/",\ - "packageDependencies": [\ - ["jest-environment-node", "npm:29.7.0"],\ - ["@jest/environment", "npm:29.7.0"],\ - ["@jest/fake-timers", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["jest-mock", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-get-type", [\ - ["npm:29.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-get-type-npm-29.6.3-500477292e-10.zip/node_modules/jest-get-type/",\ - "packageDependencies": [\ - ["jest-get-type", "npm:29.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-haste-map", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-haste-map-npm-29.7.0-e3be419eff-10.zip/node_modules/jest-haste-map/",\ - "packageDependencies": [\ - ["jest-haste-map", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/graceful-fs", "npm:4.1.9"],\ - ["@types/node", "npm:22.13.0"],\ - ["anymatch", "npm:3.1.3"],\ - ["fb-watchman", "npm:2.0.2"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-regex-util", "npm:29.6.3"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-worker", "npm:29.7.0"],\ - ["micromatch", "npm:4.0.8"],\ - ["walker", "npm:1.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-leak-detector", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-leak-detector-npm-29.7.0-915d82553f-10.zip/node_modules/jest-leak-detector/",\ - "packageDependencies": [\ - ["jest-leak-detector", "npm:29.7.0"],\ - ["jest-get-type", "npm:29.6.3"],\ - ["pretty-format", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-matcher-utils", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-matcher-utils-npm-29.7.0-dfc74b630e-10.zip/node_modules/jest-matcher-utils/",\ - "packageDependencies": [\ - ["jest-matcher-utils", "npm:29.7.0"],\ - ["chalk", "npm:4.1.2"],\ - ["jest-diff", "npm:29.7.0"],\ - ["jest-get-type", "npm:29.6.3"],\ - ["pretty-format", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-message-util", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-message-util-npm-29.7.0-7f88b6e8d1-10.zip/node_modules/jest-message-util/",\ - "packageDependencies": [\ - ["jest-message-util", "npm:29.7.0"],\ - ["@babel/code-frame", "npm:7.26.2"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/stack-utils", "npm:2.0.3"],\ - ["chalk", "npm:4.1.2"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["micromatch", "npm:4.0.8"],\ - ["pretty-format", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"],\ - ["stack-utils", "npm:2.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-mock", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-mock-npm-29.7.0-22c4769d06-10.zip/node_modules/jest-mock/",\ - "packageDependencies": [\ - ["jest-mock", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["jest-util", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-pnp-resolver", [\ - ["npm:1.2.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-pnp-resolver-npm-1.2.3-70e06bf27c-10.zip/node_modules/jest-pnp-resolver/",\ - "packageDependencies": [\ - ["jest-pnp-resolver", "npm:1.2.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:5c36f0eefbce78ee308fab92b5dcd29e2b0b70713b50365f0168be5bb1facc6582106f851a083d72bbb13e26d984e8612da5ed4b2bae83649e73e7b1ce19525b#npm:1.2.3", {\ - "packageLocation": "./.yarn/__virtual__/jest-pnp-resolver-virtual-4a109cd39c/6/.yarn/berry/cache/jest-pnp-resolver-npm-1.2.3-70e06bf27c-10.zip/node_modules/jest-pnp-resolver/",\ - "packageDependencies": [\ - ["jest-pnp-resolver", "virtual:5c36f0eefbce78ee308fab92b5dcd29e2b0b70713b50365f0168be5bb1facc6582106f851a083d72bbb13e26d984e8612da5ed4b2bae83649e73e7b1ce19525b#npm:1.2.3"],\ - ["@types/jest-resolve", null],\ - ["jest-resolve", "npm:29.7.0"]\ - ],\ - "packagePeers": [\ - "@types/jest-resolve",\ - "jest-resolve"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-regex-util", [\ - ["npm:29.6.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-regex-util-npm-29.6.3-568e0094e2-10.zip/node_modules/jest-regex-util/",\ - "packageDependencies": [\ - ["jest-regex-util", "npm:29.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-resolve", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-resolve-npm-29.7.0-5c36f0eefb-10.zip/node_modules/jest-resolve/",\ - "packageDependencies": [\ - ["jest-resolve", "npm:29.7.0"],\ - ["chalk", "npm:4.1.2"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-haste-map", "npm:29.7.0"],\ - ["jest-pnp-resolver", "virtual:5c36f0eefbce78ee308fab92b5dcd29e2b0b70713b50365f0168be5bb1facc6582106f851a083d72bbb13e26d984e8612da5ed4b2bae83649e73e7b1ce19525b#npm:1.2.3"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-validate", "npm:29.7.0"],\ - ["resolve", "patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"],\ - ["resolve.exports", "npm:2.0.3"],\ - ["slash", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-resolve-dependencies", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-resolve-dependencies-npm-29.7.0-06ec582f1e-10.zip/node_modules/jest-resolve-dependencies/",\ - "packageDependencies": [\ - ["jest-resolve-dependencies", "npm:29.7.0"],\ - ["jest-regex-util", "npm:29.6.3"],\ - ["jest-snapshot", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-runner", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-runner-npm-29.7.0-3bc9f82b58-10.zip/node_modules/jest-runner/",\ - "packageDependencies": [\ - ["jest-runner", "npm:29.7.0"],\ - ["@jest/console", "npm:29.7.0"],\ - ["@jest/environment", "npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/transform", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["chalk", "npm:4.1.2"],\ - ["emittery", "npm:0.13.1"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-docblock", "npm:29.7.0"],\ - ["jest-environment-node", "npm:29.7.0"],\ - ["jest-haste-map", "npm:29.7.0"],\ - ["jest-leak-detector", "npm:29.7.0"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-resolve", "npm:29.7.0"],\ - ["jest-runtime", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-watcher", "npm:29.7.0"],\ - ["jest-worker", "npm:29.7.0"],\ - ["p-limit", "npm:3.1.0"],\ - ["source-map-support", "npm:0.5.13"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-runtime", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-runtime-npm-29.7.0-120fa64128-10.zip/node_modules/jest-runtime/",\ - "packageDependencies": [\ - ["jest-runtime", "npm:29.7.0"],\ - ["@jest/environment", "npm:29.7.0"],\ - ["@jest/fake-timers", "npm:29.7.0"],\ - ["@jest/globals", "npm:29.7.0"],\ - ["@jest/source-map", "npm:29.6.3"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/transform", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["chalk", "npm:4.1.2"],\ - ["cjs-module-lexer", "npm:1.4.3"],\ - ["collect-v8-coverage", "npm:1.0.2"],\ - ["glob", "npm:7.2.3"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-haste-map", "npm:29.7.0"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-mock", "npm:29.7.0"],\ - ["jest-regex-util", "npm:29.6.3"],\ - ["jest-resolve", "npm:29.7.0"],\ - ["jest-snapshot", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"],\ - ["strip-bom", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-snapshot", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-snapshot-npm-29.7.0-15ef0a4ad6-10.zip/node_modules/jest-snapshot/",\ - "packageDependencies": [\ - ["jest-snapshot", "npm:29.7.0"],\ - ["@babel/core", "npm:7.26.7"],\ - ["@babel/generator", "npm:7.26.5"],\ - ["@babel/plugin-syntax-jsx", "virtual:a1c18449f3b383fa7650c05a3e40fe946bd3efa37feafc69fc21eb0f500cc06bbc16435012181372d80771c2e4615c3fe906301dc7ad94dccefec5f3cfca2b0b#npm:7.25.9"],\ - ["@babel/plugin-syntax-typescript", "virtual:d391f3127bb3776a0d98f197f9da76204acb6865dc272a9880ffdb86ff33723ba790095479b0edef6d565f1c286e4accaa75aeb28f32e663b67a8f8a37705176#npm:7.25.9"],\ - ["@babel/types", "npm:7.26.7"],\ - ["@jest/expect-utils", "npm:29.7.0"],\ - ["@jest/transform", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["babel-preset-current-node-syntax", "virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:1.1.0"],\ - ["chalk", "npm:4.1.2"],\ - ["expect", "npm:29.7.0"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-diff", "npm:29.7.0"],\ - ["jest-get-type", "npm:29.6.3"],\ - ["jest-matcher-utils", "npm:29.7.0"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["natural-compare", "npm:1.4.0"],\ - ["pretty-format", "npm:29.7.0"],\ - ["semver", "npm:7.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-util", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-util-npm-29.7.0-ff1d59714b-10.zip/node_modules/jest-util/",\ - "packageDependencies": [\ - ["jest-util", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["chalk", "npm:4.1.2"],\ - ["ci-info", "npm:3.9.0"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["picomatch", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-validate", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-validate-npm-29.7.0-795ac5ede8-10.zip/node_modules/jest-validate/",\ - "packageDependencies": [\ - ["jest-validate", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["camelcase", "npm:6.3.0"],\ - ["chalk", "npm:4.1.2"],\ - ["jest-get-type", "npm:29.6.3"],\ - ["leven", "npm:3.1.0"],\ - ["pretty-format", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-watcher", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-watcher-npm-29.7.0-e5372f1629-10.zip/node_modules/jest-watcher/",\ - "packageDependencies": [\ - ["jest-watcher", "npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:22.13.0"],\ - ["ansi-escapes", "npm:4.3.2"],\ - ["chalk", "npm:4.1.2"],\ - ["emittery", "npm:0.13.1"],\ - ["jest-util", "npm:29.7.0"],\ - ["string-length", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jest-worker", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jest-worker-npm-29.7.0-4d3567fed6-10.zip/node_modules/jest-worker/",\ - "packageDependencies": [\ - ["jest-worker", "npm:29.7.0"],\ - ["@types/node", "npm:22.13.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["merge-stream", "npm:2.0.0"],\ - ["supports-color", "npm:8.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["js-tokens", [\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/js-tokens-npm-4.0.0-0ac852e9e2-10.zip/node_modules/js-tokens/",\ - "packageDependencies": [\ - ["js-tokens", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["js-yaml", [\ - ["npm:3.14.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/js-yaml-npm-3.14.1-b968c6095e-10.zip/node_modules/js-yaml/",\ - "packageDependencies": [\ - ["js-yaml", "npm:3.14.1"],\ - ["argparse", "npm:1.0.10"],\ - ["esprima", "npm:4.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10.zip/node_modules/js-yaml/",\ - "packageDependencies": [\ - ["js-yaml", "npm:4.1.0"],\ - ["argparse", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jsbn", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jsbn-npm-1.1.0-1da0181838-10.zip/node_modules/jsbn/",\ - "packageDependencies": [\ - ["jsbn", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jsesc", [\ - ["npm:3.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jsesc-npm-3.0.2-3b3b74ec0d-10.zip/node_modules/jsesc/",\ - "packageDependencies": [\ - ["jsesc", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/jsesc-npm-3.1.0-2f4f998cd7-10.zip/node_modules/jsesc/",\ - "packageDependencies": [\ - ["jsesc", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-buffer", [\ - ["npm:3.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10.zip/node_modules/json-buffer/",\ - "packageDependencies": [\ - ["json-buffer", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-parse-even-better-errors", [\ - ["npm:2.3.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-10.zip/node_modules/json-parse-even-better-errors/",\ - "packageDependencies": [\ - ["json-parse-even-better-errors", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-schema-traverse", [\ - ["npm:0.4.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10.zip/node_modules/json-schema-traverse/",\ - "packageDependencies": [\ - ["json-schema-traverse", "npm:0.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-stable-stringify-without-jsonify", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10.zip/node_modules/json-stable-stringify-without-jsonify/",\ - "packageDependencies": [\ - ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json5", [\ - ["npm:2.2.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/json5-npm-2.2.3-9962c55073-10.zip/node_modules/json5/",\ - "packageDependencies": [\ - ["json5", "npm:2.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["keyv", [\ - ["npm:4.5.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10.zip/node_modules/keyv/",\ - "packageDependencies": [\ - ["keyv", "npm:4.5.4"],\ - ["json-buffer", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["kind-of", [\ - ["npm:6.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/kind-of-npm-6.0.3-ab15f36220-10.zip/node_modules/kind-of/",\ - "packageDependencies": [\ - ["kind-of", "npm:6.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["kleur", [\ - ["npm:3.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/kleur-npm-3.0.3-f6f53649a4-10.zip/node_modules/kleur/",\ - "packageDependencies": [\ - ["kleur", "npm:3.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["leven", [\ - ["npm:3.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/leven-npm-3.1.0-b7697736a3-10.zip/node_modules/leven/",\ - "packageDependencies": [\ - ["leven", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["levn", [\ - ["npm:0.4.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10.zip/node_modules/levn/",\ - "packageDependencies": [\ - ["levn", "npm:0.4.1"],\ - ["prelude-ls", "npm:1.2.1"],\ - ["type-check", "npm:0.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lines-and-columns", [\ - ["npm:1.2.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-10.zip/node_modules/lines-and-columns/",\ - "packageDependencies": [\ - ["lines-and-columns", "npm:1.2.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["locate-path", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/locate-path-npm-3.0.0-991671ae9f-10.zip/node_modules/locate-path/",\ - "packageDependencies": [\ - ["locate-path", "npm:3.0.0"],\ - ["p-locate", "npm:3.0.0"],\ - ["path-exists", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/locate-path-npm-5.0.0-46580c43e4-10.zip/node_modules/locate-path/",\ - "packageDependencies": [\ - ["locate-path", "npm:5.0.0"],\ - ["p-locate", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10.zip/node_modules/locate-path/",\ - "packageDependencies": [\ - ["locate-path", "npm:6.0.0"],\ - ["p-locate", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lodash.debounce", [\ - ["npm:4.0.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/lodash.debounce-npm-4.0.8-f1d6e09799-10.zip/node_modules/lodash.debounce/",\ - "packageDependencies": [\ - ["lodash.debounce", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lodash.merge", [\ - ["npm:4.6.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10.zip/node_modules/lodash.merge/",\ - "packageDependencies": [\ - ["lodash.merge", "npm:4.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lru-cache", [\ - ["npm:10.4.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/lru-cache-npm-10.4.3-30c10b861a-10.zip/node_modules/lru-cache/",\ - "packageDependencies": [\ - ["lru-cache", "npm:10.4.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/lru-cache-npm-5.1.1-f475882a51-10.zip/node_modules/lru-cache/",\ - "packageDependencies": [\ - ["lru-cache", "npm:5.1.1"],\ - ["yallist", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["make-dir", [\ - ["npm:2.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/make-dir-npm-2.1.0-1ddaf205e7-10.zip/node_modules/make-dir/",\ - "packageDependencies": [\ - ["make-dir", "npm:2.1.0"],\ - ["pify", "npm:4.0.1"],\ - ["semver", "npm:5.7.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10.zip/node_modules/make-dir/",\ - "packageDependencies": [\ - ["make-dir", "npm:4.0.0"],\ - ["semver", "npm:7.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["make-fetch-happen", [\ - ["npm:14.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/make-fetch-happen-npm-14.0.3-23b30e8691-10.zip/node_modules/make-fetch-happen/",\ - "packageDependencies": [\ - ["make-fetch-happen", "npm:14.0.3"],\ - ["@npmcli/agent", "npm:3.0.0"],\ - ["cacache", "npm:19.0.1"],\ - ["http-cache-semantics", "npm:4.1.1"],\ - ["minipass", "npm:7.1.2"],\ - ["minipass-fetch", "npm:4.0.0"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["negotiator", "npm:1.0.0"],\ - ["proc-log", "npm:5.0.0"],\ - ["promise-retry", "npm:2.0.1"],\ - ["ssri", "npm:12.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["makeerror", [\ - ["npm:1.0.12", {\ - "packageLocation": "../../../../../.yarn/berry/cache/makeerror-npm-1.0.12-69abf085d7-10.zip/node_modules/makeerror/",\ - "packageDependencies": [\ - ["makeerror", "npm:1.0.12"],\ - ["tmpl", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["math-intrinsics", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/math-intrinsics-npm-1.1.0-9204d80e7d-10.zip/node_modules/math-intrinsics/",\ - "packageDependencies": [\ - ["math-intrinsics", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["merge-stream", [\ - ["npm:2.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10.zip/node_modules/merge-stream/",\ - "packageDependencies": [\ - ["merge-stream", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["merge2", [\ - ["npm:1.4.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10.zip/node_modules/merge2/",\ - "packageDependencies": [\ - ["merge2", "npm:1.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["micromatch", [\ - ["npm:4.0.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/micromatch-npm-4.0.8-c9570e4aca-10.zip/node_modules/micromatch/",\ - "packageDependencies": [\ - ["micromatch", "npm:4.0.8"],\ - ["braces", "npm:3.0.3"],\ - ["picomatch", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mimic-fn", [\ - ["npm:2.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-10.zip/node_modules/mimic-fn/",\ - "packageDependencies": [\ - ["mimic-fn", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minimatch", [\ - ["npm:3.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10.zip/node_modules/minimatch/",\ - "packageDependencies": [\ - ["minimatch", "npm:3.1.2"],\ - ["brace-expansion", "npm:1.1.11"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:9.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minimatch-npm-9.0.5-9aa93d97fa-10.zip/node_modules/minimatch/",\ - "packageDependencies": [\ - ["minimatch", "npm:9.0.5"],\ - ["brace-expansion", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass", [\ - ["npm:3.3.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10.zip/node_modules/minipass/",\ - "packageDependencies": [\ - ["minipass", "npm:3.3.6"],\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minipass-npm-7.1.2-3a5327d36d-10.zip/node_modules/minipass/",\ - "packageDependencies": [\ - ["minipass", "npm:7.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-collect", [\ - ["npm:2.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10.zip/node_modules/minipass-collect/",\ - "packageDependencies": [\ - ["minipass-collect", "npm:2.0.1"],\ - ["minipass", "npm:7.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-fetch", [\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minipass-fetch-npm-4.0.0-d4e49e0194-10.zip/node_modules/minipass-fetch/",\ - "packageDependencies": [\ - ["minipass-fetch", "npm:4.0.0"],\ - ["encoding", "npm:0.1.13"],\ - ["minipass", "npm:7.1.2"],\ - ["minipass-sized", "npm:1.0.3"],\ - ["minizlib", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-flush", [\ - ["npm:1.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10.zip/node_modules/minipass-flush/",\ - "packageDependencies": [\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-pipeline", [\ - ["npm:1.2.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10.zip/node_modules/minipass-pipeline/",\ - "packageDependencies": [\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-sized", [\ - ["npm:1.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10.zip/node_modules/minipass-sized/",\ - "packageDependencies": [\ - ["minipass-sized", "npm:1.0.3"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minizlib", [\ - ["npm:3.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/minizlib-npm-3.0.1-4bdabd978f-10.zip/node_modules/minizlib/",\ - "packageDependencies": [\ - ["minizlib", "npm:3.0.1"],\ - ["minipass", "npm:7.1.2"],\ - ["rimraf", "npm:5.0.10"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mkdirp", [\ - ["npm:3.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/mkdirp-npm-3.0.1-f94bfa769e-10.zip/node_modules/mkdirp/",\ - "packageDependencies": [\ - ["mkdirp", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ms", [\ - ["npm:2.1.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10.zip/node_modules/ms/",\ - "packageDependencies": [\ - ["ms", "npm:2.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["natural-compare", [\ - ["npm:1.4.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10.zip/node_modules/natural-compare/",\ - "packageDependencies": [\ - ["natural-compare", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["negotiator", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/negotiator-npm-1.0.0-47d727e27e-10.zip/node_modules/negotiator/",\ - "packageDependencies": [\ - ["negotiator", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-environment-flags", [\ - ["npm:1.0.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/node-environment-flags-npm-1.0.6-019b553a56-10.zip/node_modules/node-environment-flags/",\ - "packageDependencies": [\ - ["node-environment-flags", "npm:1.0.6"],\ - ["object.getownpropertydescriptors", "npm:2.1.8"],\ - ["semver", "npm:5.7.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-gyp", [\ - ["npm:11.0.0", {\ - "packageLocation": "./.yarn/unplugged/node-gyp-npm-11.0.0-669e34db1b/node_modules/node-gyp/",\ - "packageDependencies": [\ - ["node-gyp", "npm:11.0.0"],\ - ["env-paths", "npm:2.2.1"],\ - ["exponential-backoff", "npm:3.1.1"],\ - ["glob", "npm:10.4.5"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["make-fetch-happen", "npm:14.0.3"],\ - ["nopt", "npm:8.1.0"],\ - ["proc-log", "npm:5.0.0"],\ - ["semver", "npm:7.7.0"],\ - ["tar", "npm:7.4.3"],\ - ["which", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-int64", [\ - ["npm:0.4.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/node-int64-npm-0.4.0-0dc04ec3b2-10.zip/node_modules/node-int64/",\ - "packageDependencies": [\ - ["node-int64", "npm:0.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-releases", [\ - ["npm:2.0.19", {\ - "packageLocation": "../../../../../.yarn/berry/cache/node-releases-npm-2.0.19-b123ed6240-10.zip/node_modules/node-releases/",\ - "packageDependencies": [\ - ["node-releases", "npm:2.0.19"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["nopt", [\ - ["npm:8.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/nopt-npm-8.1.0-5570ef63cd-10.zip/node_modules/nopt/",\ - "packageDependencies": [\ - ["nopt", "npm:8.1.0"],\ - ["abbrev", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["normalize-path", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/normalize-path-npm-3.0.0-658ba7d77f-10.zip/node_modules/normalize-path/",\ - "packageDependencies": [\ - ["normalize-path", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["npm-run-path", [\ - ["npm:4.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/npm-run-path-npm-4.0.1-7aebd8bab3-10.zip/node_modules/npm-run-path/",\ - "packageDependencies": [\ - ["npm-run-path", "npm:4.0.1"],\ - ["path-key", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["object-inspect", [\ - ["npm:1.13.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/object-inspect-npm-1.13.3-b4e129b6d9-10.zip/node_modules/object-inspect/",\ - "packageDependencies": [\ - ["object-inspect", "npm:1.13.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["object-keys", [\ - ["npm:1.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/object-keys-npm-1.1.1-1bf2f1be93-10.zip/node_modules/object-keys/",\ - "packageDependencies": [\ - ["object-keys", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["object.assign", [\ - ["npm:4.1.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/object.assign-npm-4.1.7-a3464be41b-10.zip/node_modules/object.assign/",\ - "packageDependencies": [\ - ["object.assign", "npm:4.1.7"],\ - ["call-bind", "npm:1.0.8"],\ - ["call-bound", "npm:1.0.3"],\ - ["define-properties", "npm:1.2.1"],\ - ["es-object-atoms", "npm:1.1.1"],\ - ["has-symbols", "npm:1.1.0"],\ - ["object-keys", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["object.getownpropertydescriptors", [\ - ["npm:2.1.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/object.getownpropertydescriptors-npm-2.1.8-f52ebbf149-10.zip/node_modules/object.getownpropertydescriptors/",\ - "packageDependencies": [\ - ["object.getownpropertydescriptors", "npm:2.1.8"],\ - ["array.prototype.reduce", "npm:1.0.7"],\ - ["call-bind", "npm:1.0.8"],\ - ["define-properties", "npm:1.2.1"],\ - ["es-abstract", "npm:1.23.9"],\ - ["es-object-atoms", "npm:1.1.1"],\ - ["gopd", "npm:1.2.0"],\ - ["safe-array-concat", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["once", [\ - ["npm:1.4.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10.zip/node_modules/once/",\ - "packageDependencies": [\ - ["once", "npm:1.4.0"],\ - ["wrappy", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["onetime", [\ - ["npm:5.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/onetime-npm-5.1.2-3ed148fa42-10.zip/node_modules/onetime/",\ - "packageDependencies": [\ - ["onetime", "npm:5.1.2"],\ - ["mimic-fn", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["optionator", [\ - ["npm:0.9.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/optionator-npm-0.9.4-1f114b00e8-10.zip/node_modules/optionator/",\ - "packageDependencies": [\ - ["optionator", "npm:0.9.4"],\ - ["deep-is", "npm:0.1.4"],\ - ["fast-levenshtein", "npm:2.0.6"],\ - ["levn", "npm:0.4.1"],\ - ["prelude-ls", "npm:1.2.1"],\ - ["type-check", "npm:0.4.0"],\ - ["word-wrap", "npm:1.2.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["own-keys", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/own-keys-npm-1.0.1-1253f9b344-10.zip/node_modules/own-keys/",\ - "packageDependencies": [\ - ["own-keys", "npm:1.0.1"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["object-keys", "npm:1.1.1"],\ - ["safe-push-apply", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-limit", [\ - ["npm:2.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/p-limit-npm-2.3.0-94a0310039-10.zip/node_modules/p-limit/",\ - "packageDependencies": [\ - ["p-limit", "npm:2.3.0"],\ - ["p-try", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10.zip/node_modules/p-limit/",\ - "packageDependencies": [\ - ["p-limit", "npm:3.1.0"],\ - ["yocto-queue", "npm:0.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-locate", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/p-locate-npm-3.0.0-74de74f952-10.zip/node_modules/p-locate/",\ - "packageDependencies": [\ - ["p-locate", "npm:3.0.0"],\ - ["p-limit", "npm:2.3.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/p-locate-npm-4.1.0-eec6872537-10.zip/node_modules/p-locate/",\ - "packageDependencies": [\ - ["p-locate", "npm:4.1.0"],\ - ["p-limit", "npm:2.3.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10.zip/node_modules/p-locate/",\ - "packageDependencies": [\ - ["p-locate", "npm:5.0.0"],\ - ["p-limit", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-map", [\ - ["npm:7.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/p-map-npm-7.0.3-93bbec0d8c-10.zip/node_modules/p-map/",\ - "packageDependencies": [\ - ["p-map", "npm:7.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-try", [\ - ["npm:2.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/p-try-npm-2.2.0-e0390dbaf8-10.zip/node_modules/p-try/",\ - "packageDependencies": [\ - ["p-try", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["package-json-from-dist", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/package-json-from-dist-npm-1.0.1-4631a88465-10.zip/node_modules/package-json-from-dist/",\ - "packageDependencies": [\ - ["package-json-from-dist", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["parent-module", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10.zip/node_modules/parent-module/",\ - "packageDependencies": [\ - ["parent-module", "npm:1.0.1"],\ - ["callsites", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["parse-json", [\ - ["npm:5.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/parse-json-npm-5.2.0-00a63b1199-10.zip/node_modules/parse-json/",\ - "packageDependencies": [\ - ["parse-json", "npm:5.2.0"],\ - ["@babel/code-frame", "npm:7.26.2"],\ - ["error-ex", "npm:1.3.2"],\ - ["json-parse-even-better-errors", "npm:2.3.1"],\ - ["lines-and-columns", "npm:1.2.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["parse-passwd", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/parse-passwd-npm-1.0.0-ace6effa1d-10.zip/node_modules/parse-passwd/",\ - "packageDependencies": [\ - ["parse-passwd", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-exists", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/path-exists-npm-3.0.0-e80371aa68-10.zip/node_modules/path-exists/",\ - "packageDependencies": [\ - ["path-exists", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10.zip/node_modules/path-exists/",\ - "packageDependencies": [\ - ["path-exists", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-is-absolute", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10.zip/node_modules/path-is-absolute/",\ - "packageDependencies": [\ - ["path-is-absolute", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-key", [\ - ["npm:3.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10.zip/node_modules/path-key/",\ - "packageDependencies": [\ - ["path-key", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-parse", [\ - ["npm:1.0.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/path-parse-npm-1.0.7-09564527b7-10.zip/node_modules/path-parse/",\ - "packageDependencies": [\ - ["path-parse", "npm:1.0.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-scurry", [\ - ["npm:1.11.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/path-scurry-npm-1.11.1-aaf8c339af-10.zip/node_modules/path-scurry/",\ - "packageDependencies": [\ - ["path-scurry", "npm:1.11.1"],\ - ["lru-cache", "npm:10.4.3"],\ - ["minipass", "npm:7.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["picocolors", [\ - ["npm:1.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/picocolors-npm-1.1.1-4fede47cf1-10.zip/node_modules/picocolors/",\ - "packageDependencies": [\ - ["picocolors", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["picomatch", [\ - ["npm:2.3.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10.zip/node_modules/picomatch/",\ - "packageDependencies": [\ - ["picomatch", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pify", [\ - ["npm:4.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/pify-npm-4.0.1-062756097b-10.zip/node_modules/pify/",\ - "packageDependencies": [\ - ["pify", "npm:4.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pirates", [\ - ["npm:4.0.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/pirates-npm-4.0.6-a8ec571a43-10.zip/node_modules/pirates/",\ - "packageDependencies": [\ - ["pirates", "npm:4.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pkg-dir", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/pkg-dir-npm-3.0.0-16d8d93783-10.zip/node_modules/pkg-dir/",\ - "packageDependencies": [\ - ["pkg-dir", "npm:3.0.0"],\ - ["find-up", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/pkg-dir-npm-4.2.0-2b5d0a8d32-10.zip/node_modules/pkg-dir/",\ - "packageDependencies": [\ - ["pkg-dir", "npm:4.2.0"],\ - ["find-up", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["possible-typed-array-names", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/possible-typed-array-names-npm-1.0.0-3a8176348a-10.zip/node_modules/possible-typed-array-names/",\ - "packageDependencies": [\ - ["possible-typed-array-names", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prelude-ls", [\ - ["npm:1.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10.zip/node_modules/prelude-ls/",\ - "packageDependencies": [\ - ["prelude-ls", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prettier", [\ - ["npm:3.4.2", {\ - "packageLocation": "./.yarn/unplugged/prettier-npm-3.4.2-fae349e44a/node_modules/prettier/",\ - "packageDependencies": [\ - ["prettier", "npm:3.4.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pretty-format", [\ - ["npm:29.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10.zip/node_modules/pretty-format/",\ - "packageDependencies": [\ - ["pretty-format", "npm:29.7.0"],\ - ["@jest/schemas", "npm:29.6.3"],\ - ["ansi-styles", "npm:5.2.0"],\ - ["react-is", "npm:18.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["proc-log", [\ - ["npm:5.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/proc-log-npm-5.0.0-405173f9b4-10.zip/node_modules/proc-log/",\ - "packageDependencies": [\ - ["proc-log", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["promise-retry", [\ - ["npm:2.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10.zip/node_modules/promise-retry/",\ - "packageDependencies": [\ - ["promise-retry", "npm:2.0.1"],\ - ["err-code", "npm:2.0.3"],\ - ["retry", "npm:0.12.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prompts", [\ - ["npm:2.4.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/prompts-npm-2.4.2-f5d25d5eea-10.zip/node_modules/prompts/",\ - "packageDependencies": [\ - ["prompts", "npm:2.4.2"],\ - ["kleur", "npm:3.0.3"],\ - ["sisteransi", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["punycode", [\ - ["npm:2.3.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10.zip/node_modules/punycode/",\ - "packageDependencies": [\ - ["punycode", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pure-rand", [\ - ["npm:6.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/pure-rand-npm-6.1.0-497ea3fc37-10.zip/node_modules/pure-rand/",\ - "packageDependencies": [\ - ["pure-rand", "npm:6.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["queue-microtask", [\ - ["npm:1.2.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10.zip/node_modules/queue-microtask/",\ - "packageDependencies": [\ - ["queue-microtask", "npm:1.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["react-is", [\ - ["npm:18.3.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/react-is-npm-18.3.1-370a81e1e9-10.zip/node_modules/react-is/",\ - "packageDependencies": [\ - ["react-is", "npm:18.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["reflect.getprototypeof", [\ - ["npm:1.0.10", {\ - "packageLocation": "../../../../../.yarn/berry/cache/reflect.getprototypeof-npm-1.0.10-8c3ce862a2-10.zip/node_modules/reflect.getprototypeof/",\ - "packageDependencies": [\ - ["reflect.getprototypeof", "npm:1.0.10"],\ - ["call-bind", "npm:1.0.8"],\ - ["define-properties", "npm:1.2.1"],\ - ["es-abstract", "npm:1.23.9"],\ - ["es-errors", "npm:1.3.0"],\ - ["es-object-atoms", "npm:1.1.1"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["get-proto", "npm:1.0.1"],\ - ["which-builtin-type", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["regenerate", [\ - ["npm:1.4.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/regenerate-npm-1.4.2-b296c5b63a-10.zip/node_modules/regenerate/",\ - "packageDependencies": [\ - ["regenerate", "npm:1.4.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["regenerate-unicode-properties", [\ - ["npm:10.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/regenerate-unicode-properties-npm-10.2.0-3d662e6e17-10.zip/node_modules/regenerate-unicode-properties/",\ - "packageDependencies": [\ - ["regenerate-unicode-properties", "npm:10.2.0"],\ - ["regenerate", "npm:1.4.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["regenerator-runtime", [\ - ["npm:0.14.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-10.zip/node_modules/regenerator-runtime/",\ - "packageDependencies": [\ - ["regenerator-runtime", "npm:0.14.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["regenerator-transform", [\ - ["npm:0.15.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/regenerator-transform-npm-0.15.2-109e57a69f-10.zip/node_modules/regenerator-transform/",\ - "packageDependencies": [\ - ["regenerator-transform", "npm:0.15.2"],\ - ["@babel/runtime", "npm:7.26.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["regexp.prototype.flags", [\ - ["npm:1.5.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/regexp.prototype.flags-npm-1.5.4-39008ab64c-10.zip/node_modules/regexp.prototype.flags/",\ - "packageDependencies": [\ - ["regexp.prototype.flags", "npm:1.5.4"],\ - ["call-bind", "npm:1.0.8"],\ - ["define-properties", "npm:1.2.1"],\ - ["es-errors", "npm:1.3.0"],\ - ["get-proto", "npm:1.0.1"],\ - ["gopd", "npm:1.2.0"],\ - ["set-function-name", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["regexpu-core", [\ - ["npm:6.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/regexpu-core-npm-6.2.0-56e98c3a61-10.zip/node_modules/regexpu-core/",\ - "packageDependencies": [\ - ["regexpu-core", "npm:6.2.0"],\ - ["regenerate", "npm:1.4.2"],\ - ["regenerate-unicode-properties", "npm:10.2.0"],\ - ["regjsgen", "npm:0.8.0"],\ - ["regjsparser", "npm:0.12.0"],\ - ["unicode-match-property-ecmascript", "npm:2.0.0"],\ - ["unicode-match-property-value-ecmascript", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["regjsgen", [\ - ["npm:0.8.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/regjsgen-npm-0.8.0-146d7cf052-10.zip/node_modules/regjsgen/",\ - "packageDependencies": [\ - ["regjsgen", "npm:0.8.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["regjsparser", [\ - ["npm:0.12.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/regjsparser-npm-0.12.0-9d000fca30-10.zip/node_modules/regjsparser/",\ - "packageDependencies": [\ - ["regjsparser", "npm:0.12.0"],\ - ["jsesc", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["require-directory", [\ - ["npm:2.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/require-directory-npm-2.1.1-8608aee50b-10.zip/node_modules/require-directory/",\ - "packageDependencies": [\ - ["require-directory", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["resolve", [\ - ["patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d", {\ - "packageLocation": "../../../../../.yarn/berry/cache/resolve-patch-b5982cfa8c-10.zip/node_modules/resolve/",\ - "packageDependencies": [\ - ["resolve", "patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"],\ - ["is-core-module", "npm:2.16.1"],\ - ["path-parse", "npm:1.0.7"],\ - ["supports-preserve-symlinks-flag", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["resolve-cwd", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/resolve-cwd-npm-3.0.0-e6f4e296bf-10.zip/node_modules/resolve-cwd/",\ - "packageDependencies": [\ - ["resolve-cwd", "npm:3.0.0"],\ - ["resolve-from", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["resolve-from", [\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10.zip/node_modules/resolve-from/",\ - "packageDependencies": [\ - ["resolve-from", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/resolve-from-npm-5.0.0-15c9db4d33-10.zip/node_modules/resolve-from/",\ - "packageDependencies": [\ - ["resolve-from", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["resolve.exports", [\ - ["npm:2.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/resolve.exports-npm-2.0.3-eb33ea72e9-10.zip/node_modules/resolve.exports/",\ - "packageDependencies": [\ - ["resolve.exports", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["retry", [\ - ["npm:0.12.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10.zip/node_modules/retry/",\ - "packageDependencies": [\ - ["retry", "npm:0.12.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["reusify", [\ - ["npm:1.0.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/reusify-npm-1.0.4-95ac4aec11-10.zip/node_modules/reusify/",\ - "packageDependencies": [\ - ["reusify", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rimraf", [\ - ["npm:5.0.10", {\ - "packageLocation": "../../../../../.yarn/berry/cache/rimraf-npm-5.0.10-d0c6647697-10.zip/node_modules/rimraf/",\ - "packageDependencies": [\ - ["rimraf", "npm:5.0.10"],\ - ["glob", "npm:10.4.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["run-parallel", [\ - ["npm:1.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10.zip/node_modules/run-parallel/",\ - "packageDependencies": [\ - ["run-parallel", "npm:1.2.0"],\ - ["queue-microtask", "npm:1.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safe-array-concat", [\ - ["npm:1.1.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/safe-array-concat-npm-1.1.3-dab0384e54-10.zip/node_modules/safe-array-concat/",\ - "packageDependencies": [\ - ["safe-array-concat", "npm:1.1.3"],\ - ["call-bind", "npm:1.0.8"],\ - ["call-bound", "npm:1.0.3"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["has-symbols", "npm:1.1.0"],\ - ["isarray", "npm:2.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safe-push-apply", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/safe-push-apply-npm-1.0.0-51a0a42944-10.zip/node_modules/safe-push-apply/",\ - "packageDependencies": [\ - ["safe-push-apply", "npm:1.0.0"],\ - ["es-errors", "npm:1.3.0"],\ - ["isarray", "npm:2.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safe-regex-test", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/safe-regex-test-npm-1.1.0-453eb81b83-10.zip/node_modules/safe-regex-test/",\ - "packageDependencies": [\ - ["safe-regex-test", "npm:1.1.0"],\ - ["call-bound", "npm:1.0.3"],\ - ["es-errors", "npm:1.3.0"],\ - ["is-regex", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safer-buffer", [\ - ["npm:2.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10.zip/node_modules/safer-buffer/",\ - "packageDependencies": [\ - ["safer-buffer", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["semver", [\ - ["npm:5.7.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/semver-npm-5.7.2-938ee91eaa-10.zip/node_modules/semver/",\ - "packageDependencies": [\ - ["semver", "npm:5.7.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.3.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/semver-npm-6.3.1-bcba31fdbe-10.zip/node_modules/semver/",\ - "packageDependencies": [\ - ["semver", "npm:6.3.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.7.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/semver-npm-7.7.0-2100277c86-10.zip/node_modules/semver/",\ - "packageDependencies": [\ - ["semver", "npm:7.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["set-function-length", [\ - ["npm:1.2.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/set-function-length-npm-1.2.2-243073748b-10.zip/node_modules/set-function-length/",\ - "packageDependencies": [\ - ["set-function-length", "npm:1.2.2"],\ - ["define-data-property", "npm:1.1.4"],\ - ["es-errors", "npm:1.3.0"],\ - ["function-bind", "npm:1.1.2"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["gopd", "npm:1.2.0"],\ - ["has-property-descriptors", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["set-function-name", [\ - ["npm:2.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/set-function-name-npm-2.0.2-3d9a2d8899-10.zip/node_modules/set-function-name/",\ - "packageDependencies": [\ - ["set-function-name", "npm:2.0.2"],\ - ["define-data-property", "npm:1.1.4"],\ - ["es-errors", "npm:1.3.0"],\ - ["functions-have-names", "npm:1.2.3"],\ - ["has-property-descriptors", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["set-proto", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/set-proto-npm-1.0.0-68d7485485-10.zip/node_modules/set-proto/",\ - "packageDependencies": [\ - ["set-proto", "npm:1.0.0"],\ - ["dunder-proto", "npm:1.0.1"],\ - ["es-errors", "npm:1.3.0"],\ - ["es-object-atoms", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["shallow-clone", [\ - ["npm:3.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/shallow-clone-npm-3.0.1-dab5873d0d-10.zip/node_modules/shallow-clone/",\ - "packageDependencies": [\ - ["shallow-clone", "npm:3.0.1"],\ - ["kind-of", "npm:6.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["shebang-command", [\ - ["npm:2.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10.zip/node_modules/shebang-command/",\ - "packageDependencies": [\ - ["shebang-command", "npm:2.0.0"],\ - ["shebang-regex", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["shebang-regex", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10.zip/node_modules/shebang-regex/",\ - "packageDependencies": [\ - ["shebang-regex", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["side-channel", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/side-channel-npm-1.1.0-4993930974-10.zip/node_modules/side-channel/",\ - "packageDependencies": [\ - ["side-channel", "npm:1.1.0"],\ - ["es-errors", "npm:1.3.0"],\ - ["object-inspect", "npm:1.13.3"],\ - ["side-channel-list", "npm:1.0.0"],\ - ["side-channel-map", "npm:1.0.1"],\ - ["side-channel-weakmap", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["side-channel-list", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/side-channel-list-npm-1.0.0-14f74146d1-10.zip/node_modules/side-channel-list/",\ - "packageDependencies": [\ - ["side-channel-list", "npm:1.0.0"],\ - ["es-errors", "npm:1.3.0"],\ - ["object-inspect", "npm:1.13.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["side-channel-map", [\ - ["npm:1.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/side-channel-map-npm-1.0.1-5903573b3c-10.zip/node_modules/side-channel-map/",\ - "packageDependencies": [\ - ["side-channel-map", "npm:1.0.1"],\ - ["call-bound", "npm:1.0.3"],\ - ["es-errors", "npm:1.3.0"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["object-inspect", "npm:1.13.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["side-channel-weakmap", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/side-channel-weakmap-npm-1.0.2-027acaf499-10.zip/node_modules/side-channel-weakmap/",\ - "packageDependencies": [\ - ["side-channel-weakmap", "npm:1.0.2"],\ - ["call-bound", "npm:1.0.3"],\ - ["es-errors", "npm:1.3.0"],\ - ["get-intrinsic", "npm:1.2.7"],\ - ["object-inspect", "npm:1.13.3"],\ - ["side-channel-map", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["signal-exit", [\ - ["npm:3.0.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10.zip/node_modules/signal-exit/",\ - "packageDependencies": [\ - ["signal-exit", "npm:3.0.7"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10.zip/node_modules/signal-exit/",\ - "packageDependencies": [\ - ["signal-exit", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["sisteransi", [\ - ["npm:1.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/sisteransi-npm-1.0.5-af60cc0cfa-10.zip/node_modules/sisteransi/",\ - "packageDependencies": [\ - ["sisteransi", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["slash", [\ - ["npm:3.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10.zip/node_modules/slash/",\ - "packageDependencies": [\ - ["slash", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["smart-buffer", [\ - ["npm:4.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10.zip/node_modules/smart-buffer/",\ - "packageDependencies": [\ - ["smart-buffer", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["socks", [\ - ["npm:2.8.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/socks-npm-2.8.3-3532b59899-10.zip/node_modules/socks/",\ - "packageDependencies": [\ - ["socks", "npm:2.8.3"],\ - ["ip-address", "npm:9.0.5"],\ - ["smart-buffer", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["socks-proxy-agent", [\ - ["npm:8.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-10.zip/node_modules/socks-proxy-agent/",\ - "packageDependencies": [\ - ["socks-proxy-agent", "npm:8.0.5"],\ - ["agent-base", "npm:7.1.3"],\ - ["debug", "virtual:18316b804e39e10c446c63495ce5eaa5ce989a46612e0ee0ee02c6d34327f1b5350aa9b949cce807abb977452110218e0d6c765fde606fe792cfc6107391696c#npm:4.4.0"],\ - ["socks", "npm:2.8.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["source-map", [\ - ["npm:0.6.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10.zip/node_modules/source-map/",\ - "packageDependencies": [\ - ["source-map", "npm:0.6.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["source-map-support", [\ - ["npm:0.5.13", {\ - "packageLocation": "../../../../../.yarn/berry/cache/source-map-support-npm-0.5.13-377dfd7321-10.zip/node_modules/source-map-support/",\ - "packageDependencies": [\ - ["source-map-support", "npm:0.5.13"],\ - ["buffer-from", "npm:1.1.2"],\ - ["source-map", "npm:0.6.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.5.21", {\ - "packageLocation": "../../../../../.yarn/berry/cache/source-map-support-npm-0.5.21-09ca99e250-10.zip/node_modules/source-map-support/",\ - "packageDependencies": [\ - ["source-map-support", "npm:0.5.21"],\ - ["buffer-from", "npm:1.1.2"],\ - ["source-map", "npm:0.6.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["sprintf-js", [\ - ["npm:1.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10.zip/node_modules/sprintf-js/",\ - "packageDependencies": [\ - ["sprintf-js", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:1.1.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/sprintf-js-npm-1.1.3-b99efd75b2-10.zip/node_modules/sprintf-js/",\ - "packageDependencies": [\ - ["sprintf-js", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ssri", [\ - ["npm:12.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ssri-npm-12.0.0-97c0e53d2e-10.zip/node_modules/ssri/",\ - "packageDependencies": [\ - ["ssri", "npm:12.0.0"],\ - ["minipass", "npm:7.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["stack-utils", [\ - ["npm:2.0.6", {\ - "packageLocation": "../../../../../.yarn/berry/cache/stack-utils-npm-2.0.6-2be1099696-10.zip/node_modules/stack-utils/",\ - "packageDependencies": [\ - ["stack-utils", "npm:2.0.6"],\ - ["escape-string-regexp", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string-length", [\ - ["npm:4.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/string-length-npm-4.0.2-675173c7a2-10.zip/node_modules/string-length/",\ - "packageDependencies": [\ - ["string-length", "npm:4.0.2"],\ - ["char-regex", "npm:1.0.2"],\ - ["strip-ansi", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string-width", [\ - ["npm:4.2.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10.zip/node_modules/string-width/",\ - "packageDependencies": [\ - ["string-width", "npm:4.2.3"],\ - ["emoji-regex", "npm:8.0.0"],\ - ["is-fullwidth-code-point", "npm:3.0.0"],\ - ["strip-ansi", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10.zip/node_modules/string-width/",\ - "packageDependencies": [\ - ["string-width", "npm:5.1.2"],\ - ["eastasianwidth", "npm:0.2.0"],\ - ["emoji-regex", "npm:9.2.2"],\ - ["strip-ansi", "npm:7.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string.prototype.trim", [\ - ["npm:1.2.10", {\ - "packageLocation": "../../../../../.yarn/berry/cache/string.prototype.trim-npm-1.2.10-40a44bc719-10.zip/node_modules/string.prototype.trim/",\ - "packageDependencies": [\ - ["string.prototype.trim", "npm:1.2.10"],\ - ["call-bind", "npm:1.0.8"],\ - ["call-bound", "npm:1.0.3"],\ - ["define-data-property", "npm:1.1.4"],\ - ["define-properties", "npm:1.2.1"],\ - ["es-abstract", "npm:1.23.9"],\ - ["es-object-atoms", "npm:1.1.1"],\ - ["has-property-descriptors", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string.prototype.trimend", [\ - ["npm:1.0.9", {\ - "packageLocation": "../../../../../.yarn/berry/cache/string.prototype.trimend-npm-1.0.9-e8729528fb-10.zip/node_modules/string.prototype.trimend/",\ - "packageDependencies": [\ - ["string.prototype.trimend", "npm:1.0.9"],\ - ["call-bind", "npm:1.0.8"],\ - ["call-bound", "npm:1.0.3"],\ - ["define-properties", "npm:1.2.1"],\ - ["es-object-atoms", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string.prototype.trimstart", [\ - ["npm:1.0.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/string.prototype.trimstart-npm-1.0.8-8c6b16ba6e-10.zip/node_modules/string.prototype.trimstart/",\ - "packageDependencies": [\ - ["string.prototype.trimstart", "npm:1.0.8"],\ - ["call-bind", "npm:1.0.8"],\ - ["define-properties", "npm:1.2.1"],\ - ["es-object-atoms", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-ansi", [\ - ["npm:6.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10.zip/node_modules/strip-ansi/",\ - "packageDependencies": [\ - ["strip-ansi", "npm:6.0.1"],\ - ["ansi-regex", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10.zip/node_modules/strip-ansi/",\ - "packageDependencies": [\ - ["strip-ansi", "npm:7.1.0"],\ - ["ansi-regex", "npm:6.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-bom", [\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/strip-bom-npm-4.0.0-97d367a64d-10.zip/node_modules/strip-bom/",\ - "packageDependencies": [\ - ["strip-bom", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-final-newline", [\ - ["npm:2.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/strip-final-newline-npm-2.0.0-340c4f7c66-10.zip/node_modules/strip-final-newline/",\ - "packageDependencies": [\ - ["strip-final-newline", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-json-comments", [\ - ["npm:3.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10.zip/node_modules/strip-json-comments/",\ - "packageDependencies": [\ - ["strip-json-comments", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["supports-color", [\ - ["npm:7.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10.zip/node_modules/supports-color/",\ - "packageDependencies": [\ - ["supports-color", "npm:7.2.0"],\ - ["has-flag", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/supports-color-npm-8.1.1-289e937149-10.zip/node_modules/supports-color/",\ - "packageDependencies": [\ - ["supports-color", "npm:8.1.1"],\ - ["has-flag", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["supports-preserve-symlinks-flag", [\ - ["npm:1.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/supports-preserve-symlinks-flag-npm-1.0.0-f17c4d0028-10.zip/node_modules/supports-preserve-symlinks-flag/",\ - "packageDependencies": [\ - ["supports-preserve-symlinks-flag", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tar", [\ - ["npm:7.4.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/tar-npm-7.4.3-1dbbd1ffc3-10.zip/node_modules/tar/",\ - "packageDependencies": [\ - ["tar", "npm:7.4.3"],\ - ["@isaacs/fs-minipass", "npm:4.0.1"],\ - ["chownr", "npm:3.0.0"],\ - ["minipass", "npm:7.1.2"],\ - ["minizlib", "npm:3.0.1"],\ - ["mkdirp", "npm:3.0.1"],\ - ["yallist", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["test-exclude", [\ - ["npm:6.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10.zip/node_modules/test-exclude/",\ - "packageDependencies": [\ - ["test-exclude", "npm:6.0.0"],\ - ["@istanbuljs/schema", "npm:0.1.3"],\ - ["glob", "npm:7.2.3"],\ - ["minimatch", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tmpl", [\ - ["npm:1.0.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/tmpl-npm-1.0.5-d399ba37e2-10.zip/node_modules/tmpl/",\ - "packageDependencies": [\ - ["tmpl", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["to-regex-range", [\ - ["npm:5.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10.zip/node_modules/to-regex-range/",\ - "packageDependencies": [\ - ["to-regex-range", "npm:5.0.1"],\ - ["is-number", "npm:7.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ts-api-utils", [\ - ["npm:2.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/ts-api-utils-npm-2.0.0-1384745dce-10.zip/node_modules/ts-api-utils/",\ - "packageDependencies": [\ - ["ts-api-utils", "npm:2.0.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-cf40bbf903/6/.yarn/berry/cache/ts-api-utils-npm-2.0.0-1384745dce-10.zip/node_modules/ts-api-utils/",\ - "packageDependencies": [\ - ["ts-api-utils", "virtual:b318e639d64e26acab0b82b2f29c250bd677dd1db35ab2d8e8f59048f30bc4db6a22fc41a6e38437fb1a2903787edae4b7d8a4dc42a0bcca4a8403727d4ac8c9#npm:2.0.0"],\ - ["@types/typescript", null],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:b948890d16c03d415192e4901d37e9bc453f7f9f8297f171b2dbe6746ece85503a62863bd1469b5e188f375dd117e9f8c04ee4d2c17371d6ef10f590030faaa5#npm:2.0.0", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-8b661cb146/6/.yarn/berry/cache/ts-api-utils-npm-2.0.0-1384745dce-10.zip/node_modules/ts-api-utils/",\ - "packageDependencies": [\ - ["ts-api-utils", "virtual:b948890d16c03d415192e4901d37e9bc453f7f9f8297f171b2dbe6746ece85503a62863bd1469b5e188f375dd117e9f8c04ee4d2c17371d6ef10f590030faaa5#npm:2.0.0"],\ - ["@types/typescript", null],\ - ["typescript", null]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tstyche", [\ - ["npm:2.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/tstyche-npm-2.1.1-5d85a48d5c-10.zip/node_modules/tstyche/",\ - "packageDependencies": [\ - ["tstyche", "npm:2.1.1"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:2.1.1", {\ - "packageLocation": "./.yarn/__virtual__/tstyche-virtual-dfa3d947cf/6/.yarn/berry/cache/tstyche-npm-2.1.1-5d85a48d5c-10.zip/node_modules/tstyche/",\ - "packageDependencies": [\ - ["tstyche", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:2.1.1"],\ - ["@types/typescript", null],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-check", [\ - ["npm:0.4.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10.zip/node_modules/type-check/",\ - "packageDependencies": [\ - ["type-check", "npm:0.4.0"],\ - ["prelude-ls", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-detect", [\ - ["npm:4.0.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10.zip/node_modules/type-detect/",\ - "packageDependencies": [\ - ["type-detect", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-fest", [\ - ["npm:0.21.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/type-fest-npm-0.21.3-5ff2a9c6fd-10.zip/node_modules/type-fest/",\ - "packageDependencies": [\ - ["type-fest", "npm:0.21.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typed-array-buffer", [\ - ["npm:1.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/typed-array-buffer-npm-1.0.3-bddcba0c25-10.zip/node_modules/typed-array-buffer/",\ - "packageDependencies": [\ - ["typed-array-buffer", "npm:1.0.3"],\ - ["call-bound", "npm:1.0.3"],\ - ["es-errors", "npm:1.3.0"],\ - ["is-typed-array", "npm:1.1.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typed-array-byte-length", [\ - ["npm:1.0.3", {\ - "packageLocation": "../../../../../.yarn/berry/cache/typed-array-byte-length-npm-1.0.3-0769937080-10.zip/node_modules/typed-array-byte-length/",\ - "packageDependencies": [\ - ["typed-array-byte-length", "npm:1.0.3"],\ - ["call-bind", "npm:1.0.8"],\ - ["for-each", "npm:0.3.4"],\ - ["gopd", "npm:1.2.0"],\ - ["has-proto", "npm:1.2.0"],\ - ["is-typed-array", "npm:1.1.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typed-array-byte-offset", [\ - ["npm:1.0.4", {\ - "packageLocation": "../../../../../.yarn/berry/cache/typed-array-byte-offset-npm-1.0.4-12f60e4553-10.zip/node_modules/typed-array-byte-offset/",\ - "packageDependencies": [\ - ["typed-array-byte-offset", "npm:1.0.4"],\ - ["available-typed-arrays", "npm:1.0.7"],\ - ["call-bind", "npm:1.0.8"],\ - ["for-each", "npm:0.3.4"],\ - ["gopd", "npm:1.2.0"],\ - ["has-proto", "npm:1.2.0"],\ - ["is-typed-array", "npm:1.1.15"],\ - ["reflect.getprototypeof", "npm:1.0.10"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typed-array-length", [\ - ["npm:1.0.7", {\ - "packageLocation": "../../../../../.yarn/berry/cache/typed-array-length-npm-1.0.7-ac6ef772a7-10.zip/node_modules/typed-array-length/",\ - "packageDependencies": [\ - ["typed-array-length", "npm:1.0.7"],\ - ["call-bind", "npm:1.0.8"],\ - ["for-each", "npm:0.3.4"],\ - ["gopd", "npm:1.2.0"],\ - ["is-typed-array", "npm:1.1.15"],\ - ["possible-typed-array-names", "npm:1.0.0"],\ - ["reflect.getprototypeof", "npm:1.0.10"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typescript", [\ - ["patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40", {\ - "packageLocation": "../../../../../.yarn/berry/cache/typescript-patch-8964a48ba3-10.zip/node_modules/typescript/",\ - "packageDependencies": [\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typescript-eslint", [\ - ["npm:8.22.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/typescript-eslint-npm-8.22.0-4eddceaea3-10.zip/node_modules/typescript-eslint/",\ - "packageDependencies": [\ - ["typescript-eslint", "npm:8.22.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0", {\ - "packageLocation": "./.yarn/__virtual__/typescript-eslint-virtual-6e052780ad/6/.yarn/berry/cache/typescript-eslint-npm-8.22.0-4eddceaea3-10.zip/node_modules/typescript-eslint/",\ - "packageDependencies": [\ - ["typescript-eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:8.22.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@typescript-eslint/eslint-plugin", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ - ["@typescript-eslint/parser", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ - ["@typescript-eslint/utils", "virtual:6e052780ad5a9ce7bdc4ce9e5d5881fd317a9b0ef68e81219d38fba3c56f5d9bdba186fe73e09f0bab58e59a3d1aca19224defd9c3716e0d72f79435c7c7c705#npm:8.22.0"],\ - ["eslint", "virtual:beabd99c70bc788c5b8f8dddd98829cd6babaf7f7b0ef7969074d36dc575f3895c2f9295440c4b9034f19656f4a613ca68a530c698ea311ca0a97516edb76e59#npm:9.19.0"],\ - ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unbox-primitive", [\ - ["npm:1.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/unbox-primitive-npm-1.1.0-269638c590-10.zip/node_modules/unbox-primitive/",\ - "packageDependencies": [\ - ["unbox-primitive", "npm:1.1.0"],\ - ["call-bound", "npm:1.0.3"],\ - ["has-bigints", "npm:1.1.0"],\ - ["has-symbols", "npm:1.1.0"],\ - ["which-boxed-primitive", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["undici-types", [\ - ["npm:6.19.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/undici-types-npm-6.19.8-9f12285b7a-10.zip/node_modules/undici-types/",\ - "packageDependencies": [\ - ["undici-types", "npm:6.19.8"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.20.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/undici-types-npm-6.20.0-bd21e669af-10.zip/node_modules/undici-types/",\ - "packageDependencies": [\ - ["undici-types", "npm:6.20.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unicode-canonical-property-names-ecmascript", [\ - ["npm:2.0.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/unicode-canonical-property-names-ecmascript-npm-2.0.1-80cef17f3b-10.zip/node_modules/unicode-canonical-property-names-ecmascript/",\ - "packageDependencies": [\ - ["unicode-canonical-property-names-ecmascript", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unicode-match-property-ecmascript", [\ - ["npm:2.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/unicode-match-property-ecmascript-npm-2.0.0-97a00fd52c-10.zip/node_modules/unicode-match-property-ecmascript/",\ - "packageDependencies": [\ - ["unicode-match-property-ecmascript", "npm:2.0.0"],\ - ["unicode-canonical-property-names-ecmascript", "npm:2.0.1"],\ - ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unicode-match-property-value-ecmascript", [\ - ["npm:2.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/unicode-match-property-value-ecmascript-npm-2.2.0-011b10a684-10.zip/node_modules/unicode-match-property-value-ecmascript/",\ - "packageDependencies": [\ - ["unicode-match-property-value-ecmascript", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unicode-property-aliases-ecmascript", [\ - ["npm:2.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/unicode-property-aliases-ecmascript-npm-2.1.0-46779595f4-10.zip/node_modules/unicode-property-aliases-ecmascript/",\ - "packageDependencies": [\ - ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unique-filename", [\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/unique-filename-npm-4.0.0-bfc100c4e3-10.zip/node_modules/unique-filename/",\ - "packageDependencies": [\ - ["unique-filename", "npm:4.0.0"],\ - ["unique-slug", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unique-slug", [\ - ["npm:5.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/unique-slug-npm-5.0.0-11508c0469-10.zip/node_modules/unique-slug/",\ - "packageDependencies": [\ - ["unique-slug", "npm:5.0.0"],\ - ["imurmurhash", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["update-browserslist-db", [\ - ["npm:1.1.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/update-browserslist-db-npm-1.1.2-59b122fef6-10.zip/node_modules/update-browserslist-db/",\ - "packageDependencies": [\ - ["update-browserslist-db", "npm:1.1.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.2", {\ - "packageLocation": "./.yarn/__virtual__/update-browserslist-db-virtual-d7fc8cbe33/6/.yarn/berry/cache/update-browserslist-db-npm-1.1.2-59b122fef6-10.zip/node_modules/update-browserslist-db/",\ - "packageDependencies": [\ - ["update-browserslist-db", "virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.2"],\ - ["@types/browserslist", null],\ - ["browserslist", "npm:4.24.4"],\ - ["escalade", "npm:3.2.0"],\ - ["picocolors", "npm:1.1.1"]\ - ],\ - "packagePeers": [\ - "@types/browserslist",\ - "browserslist"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["uri-js", [\ - ["npm:4.4.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10.zip/node_modules/uri-js/",\ - "packageDependencies": [\ - ["uri-js", "npm:4.4.1"],\ - ["punycode", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["v8-to-istanbul", [\ - ["npm:9.3.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/v8-to-istanbul-npm-9.3.0-35fef658c9-10.zip/node_modules/v8-to-istanbul/",\ - "packageDependencies": [\ - ["v8-to-istanbul", "npm:9.3.0"],\ - ["@jridgewell/trace-mapping", "npm:0.3.25"],\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ - ["convert-source-map", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["v8flags", [\ - ["npm:3.2.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/v8flags-npm-3.2.0-28770d6a95-10.zip/node_modules/v8flags/",\ - "packageDependencies": [\ - ["v8flags", "npm:3.2.0"],\ - ["homedir-polyfill", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["walker", [\ - ["npm:1.0.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/walker-npm-1.0.8-b0a05b9478-10.zip/node_modules/walker/",\ - "packageDependencies": [\ - ["walker", "npm:1.0.8"],\ - ["makeerror", "npm:1.0.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["which", [\ - ["npm:2.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10.zip/node_modules/which/",\ - "packageDependencies": [\ - ["which", "npm:2.0.2"],\ - ["isexe", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/which-npm-5.0.0-15aa39eb60-10.zip/node_modules/which/",\ - "packageDependencies": [\ - ["which", "npm:5.0.0"],\ - ["isexe", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["which-boxed-primitive", [\ - ["npm:1.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/which-boxed-primitive-npm-1.1.1-80ca20c912-10.zip/node_modules/which-boxed-primitive/",\ - "packageDependencies": [\ - ["which-boxed-primitive", "npm:1.1.1"],\ - ["is-bigint", "npm:1.1.0"],\ - ["is-boolean-object", "npm:1.2.1"],\ - ["is-number-object", "npm:1.1.1"],\ - ["is-string", "npm:1.1.1"],\ - ["is-symbol", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["which-builtin-type", [\ - ["npm:1.2.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/which-builtin-type-npm-1.2.1-bbbdf9137f-10.zip/node_modules/which-builtin-type/",\ - "packageDependencies": [\ - ["which-builtin-type", "npm:1.2.1"],\ - ["call-bound", "npm:1.0.3"],\ - ["function.prototype.name", "npm:1.1.8"],\ - ["has-tostringtag", "npm:1.0.2"],\ - ["is-async-function", "npm:2.1.1"],\ - ["is-date-object", "npm:1.1.0"],\ - ["is-finalizationregistry", "npm:1.1.1"],\ - ["is-generator-function", "npm:1.1.0"],\ - ["is-regex", "npm:1.2.1"],\ - ["is-weakref", "npm:1.1.0"],\ - ["isarray", "npm:2.0.5"],\ - ["which-boxed-primitive", "npm:1.1.1"],\ - ["which-collection", "npm:1.0.2"],\ - ["which-typed-array", "npm:1.1.18"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["which-collection", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/which-collection-npm-1.0.2-0d6277e921-10.zip/node_modules/which-collection/",\ - "packageDependencies": [\ - ["which-collection", "npm:1.0.2"],\ - ["is-map", "npm:2.0.3"],\ - ["is-set", "npm:2.0.3"],\ - ["is-weakmap", "npm:2.0.2"],\ - ["is-weakset", "npm:2.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["which-typed-array", [\ - ["npm:1.1.18", {\ - "packageLocation": "../../../../../.yarn/berry/cache/which-typed-array-npm-1.1.18-23d1112113-10.zip/node_modules/which-typed-array/",\ - "packageDependencies": [\ - ["which-typed-array", "npm:1.1.18"],\ - ["available-typed-arrays", "npm:1.0.7"],\ - ["call-bind", "npm:1.0.8"],\ - ["call-bound", "npm:1.0.3"],\ - ["for-each", "npm:0.3.4"],\ - ["gopd", "npm:1.2.0"],\ - ["has-tostringtag", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["word-wrap", [\ - ["npm:1.2.5", {\ - "packageLocation": "../../../../../.yarn/berry/cache/word-wrap-npm-1.2.5-42d00c4b09-10.zip/node_modules/word-wrap/",\ - "packageDependencies": [\ - ["word-wrap", "npm:1.2.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["wrap-ansi", [\ - ["npm:7.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10.zip/node_modules/wrap-ansi/",\ - "packageDependencies": [\ - ["wrap-ansi", "npm:7.0.0"],\ - ["ansi-styles", "npm:4.3.0"],\ - ["string-width", "npm:4.2.3"],\ - ["strip-ansi", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10.zip/node_modules/wrap-ansi/",\ - "packageDependencies": [\ - ["wrap-ansi", "npm:8.1.0"],\ - ["ansi-styles", "npm:6.2.1"],\ - ["string-width", "npm:5.1.2"],\ - ["strip-ansi", "npm:7.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["wrappy", [\ - ["npm:1.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10.zip/node_modules/wrappy/",\ - "packageDependencies": [\ - ["wrappy", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["write-file-atomic", [\ - ["npm:4.0.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/write-file-atomic-npm-4.0.2-661baae4aa-10.zip/node_modules/write-file-atomic/",\ - "packageDependencies": [\ - ["write-file-atomic", "npm:4.0.2"],\ - ["imurmurhash", "npm:0.1.4"],\ - ["signal-exit", "npm:3.0.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["y18n", [\ - ["npm:5.0.8", {\ - "packageLocation": "../../../../../.yarn/berry/cache/y18n-npm-5.0.8-5f3a0a7e62-10.zip/node_modules/y18n/",\ - "packageDependencies": [\ - ["y18n", "npm:5.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yallist", [\ - ["npm:3.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/yallist-npm-3.1.1-a568a556b4-10.zip/node_modules/yallist/",\ - "packageDependencies": [\ - ["yallist", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10.zip/node_modules/yallist/",\ - "packageDependencies": [\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/yallist-npm-5.0.0-8732dd9f1c-10.zip/node_modules/yallist/",\ - "packageDependencies": [\ - ["yallist", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yargs", [\ - ["npm:17.7.2", {\ - "packageLocation": "../../../../../.yarn/berry/cache/yargs-npm-17.7.2-80b62638e1-10.zip/node_modules/yargs/",\ - "packageDependencies": [\ - ["yargs", "npm:17.7.2"],\ - ["cliui", "npm:8.0.1"],\ - ["escalade", "npm:3.2.0"],\ - ["get-caller-file", "npm:2.0.5"],\ - ["require-directory", "npm:2.1.1"],\ - ["string-width", "npm:4.2.3"],\ - ["y18n", "npm:5.0.8"],\ - ["yargs-parser", "npm:21.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yargs-parser", [\ - ["npm:21.1.1", {\ - "packageLocation": "../../../../../.yarn/berry/cache/yargs-parser-npm-21.1.1-8fdc003314-10.zip/node_modules/yargs-parser/",\ - "packageDependencies": [\ - ["yargs-parser", "npm:21.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yocto-queue", [\ - ["npm:0.1.0", {\ - "packageLocation": "../../../../../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10.zip/node_modules/yocto-queue/",\ - "packageDependencies": [\ - ["yocto-queue", "npm:0.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]]\ - ]\ -}'; - -function $$SETUP_STATE(hydrateRuntimeState, basePath) { - return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); -} - -const fs = require('fs'); -const path = require('path'); -const crypto = require('crypto'); -const os = require('os'); -const events = require('events'); -const nodeUtils = require('util'); -const stream = require('stream'); -const zlib = require('zlib'); -const require$$0 = require('module'); -const StringDecoder = require('string_decoder'); -const url = require('url'); -const buffer = require('buffer'); -const readline = require('readline'); -const assert = require('assert'); - -const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - -function _interopNamespace(e) { - if (e && e.__esModule) return e; - const n = Object.create(null); - if (e) { - for (const k in e) { - if (k !== 'default') { - const d = Object.getOwnPropertyDescriptor(e, k); - Object.defineProperty(n, k, d.get ? d : { - enumerable: true, - get: () => e[k] - }); - } - } - } - n.default = e; - return Object.freeze(n); -} - -const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); -const path__default = /*#__PURE__*/_interopDefaultLegacy(path); -const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); -const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); -const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); -const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); -const buffer__default = /*#__PURE__*/_interopDefaultLegacy(buffer); -const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); - -const S_IFMT = 61440; -const S_IFDIR = 16384; -const S_IFREG = 32768; -const S_IFLNK = 40960; -const SAFE_TIME = 456789e3; - -function makeError$1(code, message) { - return Object.assign(new Error(`${code}: ${message}`), { code }); -} -function EBUSY(message) { - return makeError$1(`EBUSY`, message); -} -function ENOSYS(message, reason) { - return makeError$1(`ENOSYS`, `${message}, ${reason}`); -} -function EINVAL(reason) { - return makeError$1(`EINVAL`, `invalid argument, ${reason}`); -} -function EBADF(reason) { - return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); -} -function ENOENT(reason) { - return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); -} -function ENOTDIR(reason) { - return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); -} -function EISDIR(reason) { - return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); -} -function EEXIST(reason) { - return makeError$1(`EEXIST`, `file already exists, ${reason}`); -} -function EROFS(reason) { - return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); -} -function ENOTEMPTY(reason) { - return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); -} -function EOPNOTSUPP(reason) { - return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); -} -function ERR_DIR_CLOSED() { - return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); -} - -const DEFAULT_MODE = S_IFREG | 420; -class StatEntry { - uid = 0; - gid = 0; - size = 0; - blksize = 0; - atimeMs = 0; - mtimeMs = 0; - ctimeMs = 0; - birthtimeMs = 0; - atime = /* @__PURE__ */ new Date(0); - mtime = /* @__PURE__ */ new Date(0); - ctime = /* @__PURE__ */ new Date(0); - birthtime = /* @__PURE__ */ new Date(0); - dev = 0; - ino = 0; - mode = DEFAULT_MODE; - nlink = 1; - rdev = 0; - blocks = 1; - 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 BigIntStatsEntry { - uid = BigInt(0); - gid = BigInt(0); - size = BigInt(0); - blksize = BigInt(0); - atimeMs = BigInt(0); - mtimeMs = BigInt(0); - ctimeMs = BigInt(0); - birthtimeMs = BigInt(0); - atimeNs = BigInt(0); - mtimeNs = BigInt(0); - ctimeNs = BigInt(0); - birthtimeNs = BigInt(0); - atime = /* @__PURE__ */ new Date(0); - mtime = /* @__PURE__ */ new Date(0); - ctime = /* @__PURE__ */ new Date(0); - birthtime = /* @__PURE__ */ new Date(0); - dev = BigInt(0); - ino = BigInt(0); - mode = BigInt(DEFAULT_MODE); - nlink = BigInt(1); - rdev = BigInt(0); - blocks = BigInt(1); - isBlockDevice() { - return false; - } - isCharacterDevice() { - return false; - } - isDirectory() { - return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); - } - isFIFO() { - return false; - } - isFile() { - return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); - } - isSocket() { - return false; - } - isSymbolicLink() { - return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); - } -} -function makeDefaultStats() { - return new StatEntry(); -} -function clearStats(stats) { - for (const key in stats) { - if (Object.hasOwn(stats, key)) { - const element = stats[key]; - if (typeof element === `number`) { - stats[key] = 0; - } else if (typeof element === `bigint`) { - stats[key] = BigInt(0); - } else if (nodeUtils__namespace.types.isDate(element)) { - stats[key] = /* @__PURE__ */ new Date(0); - } - } - } - return stats; -} -function convertToBigIntStats(stats) { - const bigintStats = new BigIntStatsEntry(); - for (const key in stats) { - if (Object.hasOwn(stats, key)) { - const element = stats[key]; - if (typeof element === `number`) { - bigintStats[key] = BigInt(element); - } else if (nodeUtils__namespace.types.isDate(element)) { - 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; -} - -const PortablePath = { - root: `/`, - dot: `.`, - parent: `..` -}; -const Filename = { - home: `~`, - nodeModules: `node_modules`, - manifest: `package.json`, - lockfile: `yarn.lock`, - virtual: `__virtual__`, - /** - * @deprecated - */ - pnpJs: `.pnp.js`, - pnpCjs: `.pnp.cjs`, - pnpData: `.pnp.data.json`, - pnpEsmLoader: `.pnp.loader.mjs`, - rc: `.yarnrc.yml`, - env: `.env` -}; -const npath = Object.create(path__default.default); -const ppath = Object.create(path__default.default.posix); -npath.cwd = () => process.cwd(); -ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; -if (process.platform === `win32`) { - ppath.resolve = (...segments) => { - if (segments.length > 0 && ppath.isAbsolute(segments[0])) { - return path__default.default.posix.resolve(...segments); - } else { - return path__default.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.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\/)?(.*)$/; -function fromPortablePathWin32(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, `\\`); -} -function toPortablePathWin32(p) { - p = p.replace(/\\/g, `/`); - 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; -} -const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; -const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; -npath.fromPortablePath = fromPortablePath; -npath.toPortablePath = toPortablePath; -function convertPath(targetPathUtils, sourcePath) { - return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); -} - -const defaultTime = new Date(SAFE_TIME * 1e3); -const defaultTimeMs = defaultTime.getTime(); -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 { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); - await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); - await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); - for (const operation of prelayout) - await operation(); - await Promise.all(postlayout.map((operation) => { - return operation(); - })); -} -async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { - const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; - const sourceStat = await sourceFs.lstatPromise(source); - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; - let updated; - switch (true) { - case sourceStat.isDirectory(): - { - updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isFile(): - { - updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isSymbolicLink(): - { - updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - default: { - throw new Error(`Unsupported file type (${sourceStat.mode})`); - } - } - if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { - if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { - postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); - updated = true; - } - if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { - postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); - updated = true; - } - } - return updated; -} -async function maybeLStat(baseFs, p) { - try { - return await baseFs.lstatPromise(p); - } catch (e) { - return null; - } -} -async function copyFolder(prelayout, postlayout, 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); - const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; - if (opts.stableSort) { - for (const entry of entries.sort()) { - if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { - updated = true; - } - } - } else { - const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { - await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); - })); - if (entriesUpdateStatus.some((status) => status)) { - updated = true; - } - } - return updated; -} -async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { - const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); - const defaultMode = 420; - const sourceMode = sourceStat.mode & 511; - const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; - const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); - let AtomicBehavior; - ((AtomicBehavior2) => { - AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; - AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; - })(AtomicBehavior || (AtomicBehavior = {})); - let atomicBehavior = 1 /* Rename */; - let indexStat = await maybeLStat(destinationFs, indexPath); - if (destinationStat) { - const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; - const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; - if (isDestinationHardlinkedFromIndex) { - if (isIndexModified && linkStrategy.autoRepair) { - atomicBehavior = 0 /* Lock */; - indexStat = null; - } - } - if (!isDestinationHardlinkedFromIndex) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - } - const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; - let tempPathCleaned = false; - prelayout.push(async () => { - if (!indexStat) { - if (atomicBehavior === 0 /* Lock */) { - await destinationFs.lockPromise(indexPath, async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(indexPath, content); - }); - } - if (atomicBehavior === 1 /* Rename */ && tempPath) { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(tempPath, content); - try { - await destinationFs.linkPromise(tempPath, indexPath); - } catch (err) { - if (err.code === `EEXIST`) { - tempPathCleaned = true; - await destinationFs.unlinkPromise(tempPath); - } else { - throw err; - } - } - } - } - if (!destinationStat) { - await destinationFs.linkPromise(indexPath, destination); - } - }); - postlayout.push(async () => { - if (!indexStat) { - await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); - if (sourceMode !== defaultMode) { - await destinationFs.chmodPromise(indexPath, sourceMode); - } - } - if (tempPath && !tempPathCleaned) { - await destinationFs.unlinkPromise(tempPath); - } - }); - return false; -} -async function copyFileDirect(prelayout, postlayout, 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 () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(destination, content); - }); - return true; -} -async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (opts.linkStrategy?.type === `HardlinkFromIndex`) { - return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); - } else { - return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } -} -async function copySymlink(prelayout, postlayout, 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; -} - -class CustomDir { - constructor(path, nextDirent, opts = {}) { - this.path = path; - this.nextDirent = nextDirent; - this.opts = opts; - } - closed = false; - throwIfClosed() { - if (this.closed) { - throw ERR_DIR_CLOSED(); - } - } - async *[Symbol.asyncIterator]() { - try { - let dirent; - 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() { - this.throwIfClosed(); - this.opts.onClose?.(); - this.closed = true; - } -} -function opendir(fakeFs, path, entries, opts) { - const nextDirent = () => { - const filename = entries.shift(); - if (typeof filename === `undefined`) - return null; - const entryPath = fakeFs.pathUtils.join(path, filename); - return Object.assign(fakeFs.statSync(entryPath), { - name: filename, - path: void 0 - }); - }; - return new CustomDir(path, nextDirent, opts); -} - -function assertStatus(current, expected) { - if (current !== expected) { - throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); - } -} -class CustomStatWatcher extends events.EventEmitter { - fakeFs; - path; - bigint; - status = "ready" /* Ready */; - changeListeners = /* @__PURE__ */ new Map(); - lastStats; - startTimeout = null; - static create(fakeFs, path, opts) { - const statWatcher = new CustomStatWatcher(fakeFs, path, opts); - statWatcher.start(); - return statWatcher; - } - constructor(fakeFs, path, { bigint = false } = {}) { - super(); - this.fakeFs = fakeFs; - this.path = path; - this.bigint = bigint; - this.lastStats = this.stat(); - } - start() { - assertStatus(this.status, "ready" /* Ready */); - this.status = "running" /* Running */; - this.startTimeout = setTimeout(() => { - this.startTimeout = null; - if (!this.fakeFs.existsSync(this.path)) { - this.emit("change" /* Change */, this.lastStats, this.lastStats); - } - }, 3); - } - stop() { - assertStatus(this.status, "running" /* Running */); - this.status = "stopped" /* Stopped */; - if (this.startTimeout !== null) { - clearTimeout(this.startTimeout); - this.startTimeout = null; - } - this.emit("stop" /* Stop */); - } - stat() { - try { - return this.fakeFs.statSync(this.path, { bigint: this.bigint }); - } catch (error) { - 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("change" /* Change */, currentStats, previousStats); - }, opts.interval); - return opts.persistent ? interval : interval.unref(); - } - /** - * Registers a listener and assigns it an interval. - */ - registerChangeListener(listener, opts) { - this.addListener("change" /* Change */, listener); - this.changeListeners.set(listener, this.makeInterval(opts)); - } - /** - * Unregisters the listener and clears the assigned interval. - */ - unregisterChangeListener(listener) { - this.removeListener("change" /* 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; - } -} - -const statWatchersByFakeFS = /* @__PURE__ */ 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 = /* @__PURE__ */ 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); - } -} - -class FakeFS { - pathUtils; - 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 entry2 of entries.sort()) { - stack.push(this.pathUtils.join(p, entry2)); - } - } else { - throw new Error(`Not supported`); - } - } else { - yield p; - } - } - } - async checksumFilePromise(path, { algorithm = `sha512` } = {}) { - const fd = await this.openPromise(path, `r`); - try { - const CHUNK_SIZE = 65536; - const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); - const hash = crypto.createHash(algorithm); - let bytesRead = 0; - while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) - hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); - return hash.digest(`hex`); - } finally { - await this.closePromise(fd); - } - } - 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)); - })); - } - for (let t = 0; t <= maxRetries; t++) { - try { - await this.rmdirPromise(p); - break; - } catch (error) { - if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { - throw error; - } else if (t < maxRetries) { - await new Promise((resolve) => setTimeout(resolve, t * 100)); - } - } - } - } 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 void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - 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; - } - } - createdDirectory ??= subPath; - 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); - } - } - } - return createdDirectory; - } - mkdirpSync(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - 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; - } - } - createdDirectory ??= subPath; - 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); - } - } - } - return createdDirectory; - } - 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 & 511; - 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) { - } - 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) { - } - 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) { - } - 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) { - } - 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 = 1e3 / 60; - const startTime = Date.now(); - let fd = null; - const isAlive = async () => { - let pid; - try { - [pid] = await this.readJsonPromise(lockPath); - } catch (error) { - return Date.now() - startTime < 500; - } - try { - 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 (error2) { - } - } - if (Date.now() - startTime < 60 * 1e3) { - 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 { - await this.closePromise(fd); - await this.unlinkPromise(lockPath); - } catch (error) { - } - } - } - 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, { compact = false } = {}) { - const space = compact ? 0 : 2; - return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} -`); - } - writeJsonSync(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return this.writeFileSync(p, `${JSON.stringify(data, null, space)} -`); - } - async preserveTimePromise(p, cb) { - const stat = await this.lstatPromise(p); - const result = await cb(); - if (typeof result !== `undefined`) - p = result; - await this.lutimesPromise(p, stat.atime, stat.mtime); - } - async preserveTimeSync(p, cb) { - const stat = this.lstatSync(p); - const result = cb(); - if (typeof result !== `undefined`) - p = result; - this.lutimesSync(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 os.EOL; - const crlf = matches.filter((nl) => nl === `\r -`).length; - const lf = matches.length - crlf; - return crlf > lf ? `\r -` : ` -`; -} -function normalizeLineEndings(originalContent, newContent) { - return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); -} - -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); - } - lstatPromise(p, opts) { - return this.baseFs.lstatPromise(this.mapToBase(p), opts); - } - lstatSync(p, opts) { - return this.baseFs.lstatSync(this.mapToBase(p), opts); - } - async fchmodPromise(fd, mask) { - return this.baseFs.fchmodPromise(fd, mask); - } - fchmodSync(fd, mask) { - return this.baseFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return this.baseFs.chmodPromise(this.mapToBase(p), mask); - } - chmodSync(p, mask) { - return this.baseFs.chmodSync(this.mapToBase(p), mask); - } - async fchownPromise(fd, uid, gid) { - return this.baseFs.fchownPromise(fd, uid, gid); - } - fchownSync(fd, uid, gid) { - return this.baseFs.fchownSync(fd, uid, gid); - } - 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 lutimesPromise(p, atime, mtime) { - return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); - } - lutimesSync(p, atime, mtime) { - return this.baseFs.lutimesSync(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 rmPromise(p, opts) { - return this.baseFs.rmPromise(this.mapToBase(p), opts); - } - rmSync(p, opts) { - return this.baseFs.rmSync(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) { - return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); - } - readFileSync(p, encoding) { - return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); - } - 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); - } - async ftruncatePromise(fd, len) { - return this.baseFs.ftruncatePromise(fd, len); - } - ftruncateSync(fd, len) { - return this.baseFs.ftruncateSync(fd, 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); - } - } -} - -function direntToPortable(dirent) { - const portableDirent = dirent; - if (typeof dirent.path === `string`) - portableDirent.path = npath.toPortablePath(dirent.path); - return portableDirent; -} -class NodeFS extends BasePortableFakeFS { - realFs; - constructor(realFs = fs__default.default) { - super(); - this.realFs = realFs; - } - 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) => { - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - }); - } - opendirSync(p, opts) { - const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - } - 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) { - this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.fstat(fd, this.makeCallback(resolve, reject)); - } - }); - } - fstatSync(fd, opts) { - if (opts) { - return this.realFs.fstatSync(fd, opts); - } else { - return this.realFs.fstatSync(fd); - } - } - async lstatPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - 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) { - return this.realFs.lstatSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.lstatSync(npath.fromPortablePath(p)); - } - } - async fchmodPromise(fd, mask) { - return await new Promise((resolve, reject) => { - this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); - }); - } - fchmodSync(fd, mask) { - return this.realFs.fchmodSync(fd, mask); - } - 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 fchownPromise(fd, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); - }); - } - fchownSync(fd, uid, gid) { - return this.realFs.fchownSync(fd, uid, gid); - } - 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 lutimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - lutimesSync(p, atime, mtime) { - this.realFs.lutimesSync(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) => { - 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 rmPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.rm(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.rm(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - rmSync(p, opts) { - return this.realFs.rmSync(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) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - readdirSync(p, opts) { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts); - } - } 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); - } - async ftruncatePromise(fd, len) { - return await new Promise((resolve, reject) => { - this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); - }); - } - ftruncateSync(fd, len) { - return this.realFs.ftruncateSync(fd, 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); - } - }; - } -} - -const MOUNT_MASK = 4278190080; -class MountFS extends BasePortableFakeFS { - baseFs; - mountInstances; - fdMap = /* @__PURE__ */ new Map(); - nextFd = 3; - factoryPromise; - factorySync; - filter; - getMountPoint; - magic; - maxAge; - maxOpenFiles; - typeCheck; - isMount = /* @__PURE__ */ new Set(); - notMount = /* @__PURE__ */ new Set(); - realPaths = /* @__PURE__ */ new Map(); - constructor({ baseFs = new NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs.constants.S_IFREG, getMountPoint, factoryPromise, factorySync }) { - if (Math.floor(magicByte) !== magicByte || !(magicByte > 1 && magicByte <= 127)) - throw new Error(`The magic byte must be set to a round value between 1 and 127 included`); - super(); - this.baseFs = baseFs; - this.mountInstances = useCache ? /* @__PURE__ */ new Map() : null; - this.factoryPromise = factoryPromise; - this.factorySync = factorySync; - this.filter = filter; - this.getMountPoint = getMountPoint; - this.magic = magicByte << 24; - this.maxAge = maxAge; - this.maxOpenFiles = maxOpenFiles; - this.typeCheck = typeCheck; - } - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - getRealPath() { - return this.baseFs.getRealPath(); - } - saveAndClose() { - unwatchAllFiles(this); - if (this.mountInstances) { - for (const [path, { childFs }] of this.mountInstances.entries()) { - childFs.saveAndClose?.(); - this.mountInstances.delete(path); - } - } - } - discardAndClose() { - unwatchAllFiles(this); - if (this.mountInstances) { - for (const [path, { childFs }] of this.mountInstances.entries()) { - childFs.discardAndClose?.(); - this.mountInstances.delete(path); - } - } - } - resolve(p) { - return this.baseFs.resolve(p); - } - remapFd(mountFs, fd) { - const remappedFd = this.nextFd++ | this.magic; - this.fdMap.set(remappedFd, [mountFs, fd]); - return remappedFd; - } - async openPromise(p, flags, mode) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.openPromise(p, flags, mode); - }, async (mountFs, { subPath }) => { - return this.remapFd(mountFs, await mountFs.openPromise(subPath, flags, mode)); - }); - } - openSync(p, flags, mode) { - return this.makeCallSync(p, () => { - return this.baseFs.openSync(p, flags, mode); - }, (mountFs, { subPath }) => { - return this.remapFd(mountFs, mountFs.openSync(subPath, flags, mode)); - }); - } - async opendirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.opendirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.opendirPromise(subPath, opts); - }, { - requireSubpath: false - }); - } - opendirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.opendirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.opendirSync(subPath, opts); - }, { - requireSubpath: false - }); - } - async readPromise(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) - return await this.baseFs.readPromise(fd, buffer, offset, length, position); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`read`); - const [mountFs, realFd] = entry; - return await mountFs.readPromise(realFd, buffer, offset, length, position); - } - readSync(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.readSync(fd, buffer, offset, length, position); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`readSync`); - const [mountFs, realFd] = entry; - return mountFs.readSync(realFd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) { - 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 [mountFs, realFd] = entry; - if (typeof buffer === `string`) { - return await mountFs.writePromise(realFd, buffer, offset); - } else { - return await mountFs.writePromise(realFd, buffer, offset, length, position); - } - } - writeSync(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) { - 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 [mountFs, realFd] = entry; - if (typeof buffer === `string`) { - return mountFs.writeSync(realFd, buffer, offset); - } else { - return mountFs.writeSync(realFd, buffer, offset, length, position); - } - } - async closePromise(fd) { - if ((fd & MOUNT_MASK) !== this.magic) - return await this.baseFs.closePromise(fd); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`close`); - this.fdMap.delete(fd); - const [mountFs, realFd] = entry; - return await mountFs.closePromise(realFd); - } - closeSync(fd) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.closeSync(fd); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`closeSync`); - this.fdMap.delete(fd); - const [mountFs, realFd] = entry; - return mountFs.closeSync(realFd); - } - createReadStream(p, opts) { - if (p === null) - return this.baseFs.createReadStream(p, opts); - return this.makeCallSync(p, () => { - return this.baseFs.createReadStream(p, opts); - }, (mountFs, { archivePath, subPath }) => { - const stream = mountFs.createReadStream(subPath, opts); - stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); - return stream; - }); - } - createWriteStream(p, opts) { - if (p === null) - return this.baseFs.createWriteStream(p, opts); - return this.makeCallSync(p, () => { - return this.baseFs.createWriteStream(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.createWriteStream(subPath, opts); - }); - } - async realpathPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.realpathPromise(p); - }, async (mountFs, { 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 mountFs.realpathPromise(subPath))); - }); - } - realpathSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.realpathSync(p); - }, (mountFs, { 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, mountFs.realpathSync(subPath))); - }); - } - async existsPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.existsPromise(p); - }, async (mountFs, { subPath }) => { - return await mountFs.existsPromise(subPath); - }); - } - existsSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.existsSync(p); - }, (mountFs, { subPath }) => { - return mountFs.existsSync(subPath); - }); - } - async accessPromise(p, mode) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.accessPromise(p, mode); - }, async (mountFs, { subPath }) => { - return await mountFs.accessPromise(subPath, mode); - }); - } - accessSync(p, mode) { - return this.makeCallSync(p, () => { - return this.baseFs.accessSync(p, mode); - }, (mountFs, { subPath }) => { - return mountFs.accessSync(subPath, mode); - }); - } - async statPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.statPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.statPromise(subPath, opts); - }); - } - statSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.statSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.statSync(subPath, opts); - }); - } - async fstatPromise(fd, opts) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fstatPromise(fd, opts); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fstat`); - const [mountFs, realFd] = entry; - return mountFs.fstatPromise(realFd, opts); - } - fstatSync(fd, opts) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fstatSync(fd, opts); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fstatSync`); - const [mountFs, realFd] = entry; - return mountFs.fstatSync(realFd, opts); - } - async lstatPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.lstatPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.lstatPromise(subPath, opts); - }); - } - lstatSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.lstatSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.lstatSync(subPath, opts); - }); - } - async fchmodPromise(fd, mask) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchmodPromise(fd, mask); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchmod`); - const [mountFs, realFd] = entry; - return mountFs.fchmodPromise(realFd, mask); - } - fchmodSync(fd, mask) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchmodSync(fd, mask); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchmodSync`); - const [mountFs, realFd] = entry; - return mountFs.fchmodSync(realFd, mask); - } - async chmodPromise(p, mask) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.chmodPromise(p, mask); - }, async (mountFs, { subPath }) => { - return await mountFs.chmodPromise(subPath, mask); - }); - } - chmodSync(p, mask) { - return this.makeCallSync(p, () => { - return this.baseFs.chmodSync(p, mask); - }, (mountFs, { subPath }) => { - return mountFs.chmodSync(subPath, mask); - }); - } - async fchownPromise(fd, uid, gid) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchownPromise(fd, uid, gid); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchown`); - const [zipFs, realFd] = entry; - return zipFs.fchownPromise(realFd, uid, gid); - } - fchownSync(fd, uid, gid) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchownSync(fd, uid, gid); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchownSync`); - const [zipFs, realFd] = entry; - return zipFs.fchownSync(realFd, uid, gid); - } - async chownPromise(p, uid, gid) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.chownPromise(p, uid, gid); - }, async (mountFs, { subPath }) => { - return await mountFs.chownPromise(subPath, uid, gid); - }); - } - chownSync(p, uid, gid) { - return this.makeCallSync(p, () => { - return this.baseFs.chownSync(p, uid, gid); - }, (mountFs, { subPath }) => { - return mountFs.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 (mountFsO, { subPath: subPathO }) => { - return await this.makeCallPromise(newP, async () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }, async (mountFsN, { subPath: subPathN }) => { - if (mountFsO !== mountFsN) { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - } else { - return await mountFsO.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` }); - }); - }, (mountFsO, { subPath: subPathO }) => { - return this.makeCallSync(newP, () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }, (mountFsN, { subPath: subPathN }) => { - if (mountFsO !== mountFsN) { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - } else { - return mountFsO.renameSync(subPathO, subPathN); - } - }); - }); - } - async copyFilePromise(sourceP, destP, flags = 0) { - const fallback = async (sourceFs, sourceP2, destFs, destP2) => { - if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) - throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); - if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) - throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); - let content; - try { - content = await sourceFs.readFilePromise(sourceP2); - } catch (error) { - throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); - } - await destFs.writeFilePromise(destP2, content); - }; - return await this.makeCallPromise(sourceP, async () => { - return await this.makeCallPromise(destP, async () => { - return await this.baseFs.copyFilePromise(sourceP, destP, flags); - }, async (mountFsD, { subPath: subPathD }) => { - return await fallback(this.baseFs, sourceP, mountFsD, subPathD); - }); - }, async (mountFsS, { subPath: subPathS }) => { - return await this.makeCallPromise(destP, async () => { - return await fallback(mountFsS, subPathS, this.baseFs, destP); - }, async (mountFsD, { subPath: subPathD }) => { - if (mountFsS !== mountFsD) { - return await fallback(mountFsS, subPathS, mountFsD, subPathD); - } else { - return await mountFsS.copyFilePromise(subPathS, subPathD, flags); - } - }); - }); - } - copyFileSync(sourceP, destP, flags = 0) { - const fallback = (sourceFs, sourceP2, destFs, destP2) => { - if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) - throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); - if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) - throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); - let content; - try { - content = sourceFs.readFileSync(sourceP2); - } catch (error) { - throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); - } - destFs.writeFileSync(destP2, content); - }; - return this.makeCallSync(sourceP, () => { - return this.makeCallSync(destP, () => { - return this.baseFs.copyFileSync(sourceP, destP, flags); - }, (mountFsD, { subPath: subPathD }) => { - return fallback(this.baseFs, sourceP, mountFsD, subPathD); - }); - }, (mountFsS, { subPath: subPathS }) => { - return this.makeCallSync(destP, () => { - return fallback(mountFsS, subPathS, this.baseFs, destP); - }, (mountFsD, { subPath: subPathD }) => { - if (mountFsS !== mountFsD) { - return fallback(mountFsS, subPathS, mountFsD, subPathD); - } else { - return mountFsS.copyFileSync(subPathS, subPathD, flags); - } - }); - }); - } - async appendFilePromise(p, content, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.appendFilePromise(p, content, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.appendFilePromise(subPath, content, opts); - }); - } - appendFileSync(p, content, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.appendFileSync(p, content, opts); - }, (mountFs, { subPath }) => { - return mountFs.appendFileSync(subPath, content, opts); - }); - } - async writeFilePromise(p, content, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.writeFilePromise(p, content, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.writeFilePromise(subPath, content, opts); - }); - } - writeFileSync(p, content, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.writeFileSync(p, content, opts); - }, (mountFs, { subPath }) => { - return mountFs.writeFileSync(subPath, content, opts); - }); - } - async unlinkPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.unlinkPromise(p); - }, async (mountFs, { subPath }) => { - return await mountFs.unlinkPromise(subPath); - }); - } - unlinkSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.unlinkSync(p); - }, (mountFs, { subPath }) => { - return mountFs.unlinkSync(subPath); - }); - } - async utimesPromise(p, atime, mtime) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.utimesPromise(p, atime, mtime); - }, async (mountFs, { subPath }) => { - return await mountFs.utimesPromise(subPath, atime, mtime); - }); - } - utimesSync(p, atime, mtime) { - return this.makeCallSync(p, () => { - return this.baseFs.utimesSync(p, atime, mtime); - }, (mountFs, { subPath }) => { - return mountFs.utimesSync(subPath, atime, mtime); - }); - } - async lutimesPromise(p, atime, mtime) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.lutimesPromise(p, atime, mtime); - }, async (mountFs, { subPath }) => { - return await mountFs.lutimesPromise(subPath, atime, mtime); - }); - } - lutimesSync(p, atime, mtime) { - return this.makeCallSync(p, () => { - return this.baseFs.lutimesSync(p, atime, mtime); - }, (mountFs, { subPath }) => { - return mountFs.lutimesSync(subPath, atime, mtime); - }); - } - async mkdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.mkdirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.mkdirPromise(subPath, opts); - }); - } - mkdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.mkdirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.mkdirSync(subPath, opts); - }); - } - async rmdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.rmdirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.rmdirPromise(subPath, opts); - }); - } - rmdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.rmdirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.rmdirSync(subPath, opts); - }); - } - async rmPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.rmPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.rmPromise(subPath, opts); - }); - } - rmSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.rmSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.rmSync(subPath, opts); - }); - } - async linkPromise(existingP, newP) { - return await this.makeCallPromise(newP, async () => { - return await this.baseFs.linkPromise(existingP, newP); - }, async (mountFs, { subPath }) => { - return await mountFs.linkPromise(existingP, subPath); - }); - } - linkSync(existingP, newP) { - return this.makeCallSync(newP, () => { - return this.baseFs.linkSync(existingP, newP); - }, (mountFs, { subPath }) => { - return mountFs.linkSync(existingP, subPath); - }); - } - async symlinkPromise(target, p, type) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.symlinkPromise(target, p, type); - }, async (mountFs, { subPath }) => { - return await mountFs.symlinkPromise(target, subPath); - }); - } - symlinkSync(target, p, type) { - return this.makeCallSync(p, () => { - return this.baseFs.symlinkSync(target, p, type); - }, (mountFs, { subPath }) => { - return mountFs.symlinkSync(target, subPath); - }); - } - async readFilePromise(p, encoding) { - return this.makeCallPromise(p, async () => { - return await this.baseFs.readFilePromise(p, encoding); - }, async (mountFs, { subPath }) => { - return await mountFs.readFilePromise(subPath, encoding); - }); - } - readFileSync(p, encoding) { - return this.makeCallSync(p, () => { - return this.baseFs.readFileSync(p, encoding); - }, (mountFs, { subPath }) => { - return mountFs.readFileSync(subPath, encoding); - }); - } - async readdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.readdirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.readdirPromise(subPath, opts); - }, { - requireSubpath: false - }); - } - readdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.readdirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.readdirSync(subPath, opts); - }, { - requireSubpath: false - }); - } - async readlinkPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.readlinkPromise(p); - }, async (mountFs, { subPath }) => { - return await mountFs.readlinkPromise(subPath); - }); - } - readlinkSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.readlinkSync(p); - }, (mountFs, { subPath }) => { - return mountFs.readlinkSync(subPath); - }); - } - async truncatePromise(p, len) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.truncatePromise(p, len); - }, async (mountFs, { subPath }) => { - return await mountFs.truncatePromise(subPath, len); - }); - } - truncateSync(p, len) { - return this.makeCallSync(p, () => { - return this.baseFs.truncateSync(p, len); - }, (mountFs, { subPath }) => { - return mountFs.truncateSync(subPath, len); - }); - } - async ftruncatePromise(fd, len) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.ftruncatePromise(fd, len); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`ftruncate`); - const [mountFs, realFd] = entry; - return mountFs.ftruncatePromise(realFd, len); - } - ftruncateSync(fd, len) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.ftruncateSync(fd, len); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`ftruncateSync`); - const [mountFs, realFd] = entry; - return mountFs.ftruncateSync(realFd, len); - } - watch(p, a, b) { - return this.makeCallSync(p, () => { - return this.baseFs.watch( - p, - // @ts-expect-error - a, - b - ); - }, (mountFs, { subPath }) => { - return mountFs.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 mountInfo = this.findMount(normalizedP); - if (!mountInfo) - return await discard(); - if (requireSubpath && mountInfo.subPath === `/`) - return await discard(); - return await this.getMountPromise(mountInfo.archivePath, async (mountFs) => await accept(mountFs, mountInfo)); - } - makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { - if (typeof p !== `string`) - return discard(); - const normalizedP = this.resolve(p); - const mountInfo = this.findMount(normalizedP); - if (!mountInfo) - return discard(); - if (requireSubpath && mountInfo.subPath === `/`) - return discard(); - return this.getMountSync(mountInfo.archivePath, (mountFs) => accept(mountFs, mountInfo)); - } - findMount(p) { - if (this.filter && !this.filter.test(p)) - return null; - let filePath = ``; - while (true) { - const pathPartWithArchive = p.substring(filePath.length); - const mountPoint = this.getMountPoint(pathPartWithArchive, filePath); - if (!mountPoint) - return null; - filePath = this.pathUtils.join(filePath, mountPoint); - if (!this.isMount.has(filePath)) { - if (this.notMount.has(filePath)) - continue; - try { - if (this.typeCheck !== null && (this.baseFs.lstatSync(filePath).mode & fs.constants.S_IFMT) !== this.typeCheck) { - this.notMount.add(filePath); - continue; - } - } catch { - return null; - } - this.isMount.add(filePath); - } - return { - archivePath: filePath, - subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) - }; - } - } - limitOpenFilesTimeout = null; - limitOpenFiles(max) { - if (this.mountInstances === null) - return; - const now = Date.now(); - let nextExpiresAt = now + this.maxAge; - let closeCount = max === null ? 0 : this.mountInstances.size - max; - for (const [path, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) { - if (refCount !== 0 || childFs.hasOpenFileHandles?.()) { - continue; - } else if (now >= expiresAt) { - childFs.saveAndClose?.(); - this.mountInstances.delete(path); - closeCount -= 1; - continue; - } else if (max === null || closeCount <= 0) { - nextExpiresAt = expiresAt; - break; - } - childFs.saveAndClose?.(); - this.mountInstances.delete(path); - closeCount -= 1; - } - if (this.limitOpenFilesTimeout === null && (max === null && this.mountInstances.size > 0 || max !== null) && isFinite(nextExpiresAt)) { - this.limitOpenFilesTimeout = setTimeout(() => { - this.limitOpenFilesTimeout = null; - this.limitOpenFiles(null); - }, nextExpiresAt - now).unref(); - } - } - async getMountPromise(p, accept) { - if (this.mountInstances) { - let cachedMountFs = this.mountInstances.get(p); - if (!cachedMountFs) { - const createFsInstance = await this.factoryPromise(this.baseFs, p); - cachedMountFs = this.mountInstances.get(p); - if (!cachedMountFs) { - cachedMountFs = { - childFs: createFsInstance(), - expiresAt: 0, - refCount: 0 - }; - } - } - this.mountInstances.delete(p); - this.limitOpenFiles(this.maxOpenFiles - 1); - this.mountInstances.set(p, cachedMountFs); - cachedMountFs.expiresAt = Date.now() + this.maxAge; - cachedMountFs.refCount += 1; - try { - return await accept(cachedMountFs.childFs); - } finally { - cachedMountFs.refCount -= 1; - } - } else { - const mountFs = (await this.factoryPromise(this.baseFs, p))(); - try { - return await accept(mountFs); - } finally { - mountFs.saveAndClose?.(); - } - } - } - getMountSync(p, accept) { - if (this.mountInstances) { - let cachedMountFs = this.mountInstances.get(p); - if (!cachedMountFs) { - cachedMountFs = { - childFs: this.factorySync(this.baseFs, p), - expiresAt: 0, - refCount: 0 - }; - } - this.mountInstances.delete(p); - this.limitOpenFiles(this.maxOpenFiles - 1); - this.mountInstances.set(p, cachedMountFs); - cachedMountFs.expiresAt = Date.now() + this.maxAge; - return accept(cachedMountFs.childFs); - } else { - const childFs = this.factorySync(this.baseFs, p); - try { - return accept(childFs); - } finally { - childFs.saveAndClose?.(); - } - } - } -} - -class PosixFS extends ProxiedFS { - baseFs; - constructor(baseFs) { - super(npath); - this.baseFs = baseFs; - } - mapFromBase(path) { - return npath.fromPortablePath(path); - } - mapToBase(path) { - return npath.toPortablePath(path); - } -} - -const NUMBER_REGEXP = /^[0-9]+$/; -const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; -const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; -class VirtualFS extends ProxiedFS { - 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`); - const target = ppath.relative(ppath.dirname(base), to); - const segments = target.split(`/`); - 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)); - } - constructor({ baseFs = new NodeFS() } = {}) { - super(ppath); - this.baseFs = baseFs; - } - 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; - } -} - -const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? url.URL : globalThis.URL; - -class NodePathFS extends ProxiedFS { - baseFs; - constructor(baseFs) { - super(npath); - this.baseFs = baseFs; - } - mapFromBase(path) { - return path; - } - mapToBase(path) { - if (typeof path === `string`) - return path; - if (path instanceof URL) - return url.fileURLToPath(path); - if (Buffer.isBuffer(path)) { - const str = path.toString(); - if (!isUtf8(path, str)) - throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); - return str; - } - throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`); - } -} -function isUtf8(buf, str) { - if (typeof buffer__default.default.isUtf8 !== `undefined`) - return buffer__default.default.isUtf8(buf); - return Buffer.byteLength(str) === buf.byteLength; -} - -const kBaseFs = Symbol(`kBaseFs`); -const kFd = Symbol(`kFd`); -const kClosePromise = Symbol(`kClosePromise`); -const kCloseResolve = Symbol(`kCloseResolve`); -const kCloseReject = Symbol(`kCloseReject`); -const kRefs = Symbol(`kRefs`); -const kRef = Symbol(`kRef`); -const kUnref = Symbol(`kUnref`); -class FileHandle { - [kBaseFs]; - [kFd]; - [kRefs] = 1; - [kClosePromise] = void 0; - [kCloseResolve] = void 0; - [kCloseReject] = void 0; - constructor(fd, baseFs) { - this[kBaseFs] = baseFs; - this[kFd] = fd; - } - get fd() { - return this[kFd]; - } - async appendFile(data, options) { - try { - this[kRef](this.appendFile); - const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; - return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); - } finally { - this[kUnref](); - } - } - async chown(uid, gid) { - try { - this[kRef](this.chown); - return await this[kBaseFs].fchownPromise(this.fd, uid, gid); - } finally { - this[kUnref](); - } - } - async chmod(mode) { - try { - this[kRef](this.chmod); - return await this[kBaseFs].fchmodPromise(this.fd, mode); - } finally { - this[kUnref](); - } - } - createReadStream(options) { - return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); - } - createWriteStream(options) { - return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); - } - // FIXME: Missing FakeFS version - datasync() { - throw new Error(`Method not implemented.`); - } - // FIXME: Missing FakeFS version - sync() { - throw new Error(`Method not implemented.`); - } - async read(bufferOrOptions, offset, length, position) { - try { - this[kRef](this.read); - let buffer; - if (!Buffer.isBuffer(bufferOrOptions)) { - bufferOrOptions ??= {}; - buffer = bufferOrOptions.buffer ?? Buffer.alloc(16384); - offset = bufferOrOptions.offset || 0; - length = bufferOrOptions.length ?? buffer.byteLength; - position = bufferOrOptions.position ?? null; - } else { - buffer = bufferOrOptions; - } - offset ??= 0; - length ??= 0; - if (length === 0) { - return { - bytesRead: length, - buffer - }; - } - const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); - return { - bytesRead, - buffer - }; - } finally { - this[kUnref](); - } - } - async readFile(options) { - try { - this[kRef](this.readFile); - const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; - return await this[kBaseFs].readFilePromise(this.fd, encoding); - } finally { - this[kUnref](); - } - } - readLines(options) { - return readline.createInterface({ - input: this.createReadStream(options), - crlfDelay: Infinity - }); - } - async stat(opts) { - try { - this[kRef](this.stat); - return await this[kBaseFs].fstatPromise(this.fd, opts); - } finally { - this[kUnref](); - } - } - async truncate(len) { - try { - this[kRef](this.truncate); - return await this[kBaseFs].ftruncatePromise(this.fd, len); - } finally { - this[kUnref](); - } - } - // FIXME: Missing FakeFS version - utimes(atime, mtime) { - throw new Error(`Method not implemented.`); - } - async writeFile(data, options) { - try { - this[kRef](this.writeFile); - const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; - await this[kBaseFs].writeFilePromise(this.fd, data, encoding); - } finally { - this[kUnref](); - } - } - async write(...args) { - try { - this[kRef](this.write); - if (ArrayBuffer.isView(args[0])) { - const [buffer, offset, length, position] = args; - const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset ?? void 0, length ?? void 0, position ?? void 0); - return { bytesWritten, buffer }; - } else { - const [data, position, encoding] = args; - const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); - return { bytesWritten, buffer: data }; - } - } finally { - this[kUnref](); - } - } - // TODO: Use writev from FakeFS when that is implemented - async writev(buffers, position) { - try { - this[kRef](this.writev); - let bytesWritten = 0; - if (typeof position !== `undefined`) { - for (const buffer of buffers) { - const writeResult = await this.write(buffer, void 0, void 0, position); - bytesWritten += writeResult.bytesWritten; - position += writeResult.bytesWritten; - } - } else { - for (const buffer of buffers) { - const writeResult = await this.write(buffer); - bytesWritten += writeResult.bytesWritten; - } - } - return { - buffers, - bytesWritten - }; - } finally { - this[kUnref](); - } - } - // FIXME: Missing FakeFS version - readv(buffers, position) { - throw new Error(`Method not implemented.`); - } - close() { - if (this[kFd] === -1) return Promise.resolve(); - if (this[kClosePromise]) return this[kClosePromise]; - this[kRefs]--; - if (this[kRefs] === 0) { - const fd = this[kFd]; - this[kFd] = -1; - this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { - this[kClosePromise] = void 0; - }); - } else { - this[kClosePromise] = new Promise((resolve, reject) => { - this[kCloseResolve] = resolve; - this[kCloseReject] = reject; - }).finally(() => { - this[kClosePromise] = void 0; - this[kCloseReject] = void 0; - this[kCloseResolve] = void 0; - }); - } - return this[kClosePromise]; - } - [kRef](caller) { - if (this[kFd] === -1) { - const err = new Error(`file closed`); - err.code = `EBADF`; - err.syscall = caller.name; - throw err; - } - this[kRefs]++; - } - [kUnref]() { - this[kRefs]--; - if (this[kRefs] === 0) { - const fd = this[kFd]; - this[kFd] = -1; - this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); - } - } -} - -const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ - `accessSync`, - `appendFileSync`, - `createReadStream`, - `createWriteStream`, - `chmodSync`, - `fchmodSync`, - `chownSync`, - `fchownSync`, - `closeSync`, - `copyFileSync`, - `linkSync`, - `lstatSync`, - `fstatSync`, - `lutimesSync`, - `mkdirSync`, - `openSync`, - `opendirSync`, - `readlinkSync`, - `readFileSync`, - `readdirSync`, - `readlinkSync`, - `realpathSync`, - `renameSync`, - `rmdirSync`, - `rmSync`, - `statSync`, - `symlinkSync`, - `truncateSync`, - `ftruncateSync`, - `unlinkSync`, - `unwatchFile`, - `utimesSync`, - `watch`, - `watchFile`, - `writeFileSync`, - `writeSync` -]); -const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ - `accessPromise`, - `appendFilePromise`, - `fchmodPromise`, - `chmodPromise`, - `fchownPromise`, - `chownPromise`, - `closePromise`, - `copyFilePromise`, - `linkPromise`, - `fstatPromise`, - `lstatPromise`, - `lutimesPromise`, - `mkdirPromise`, - `openPromise`, - `opendirPromise`, - `readdirPromise`, - `realpathPromise`, - `readFilePromise`, - `readdirPromise`, - `readlinkPromise`, - `renamePromise`, - `rmdirPromise`, - `rmPromise`, - `statPromise`, - `symlinkPromise`, - `truncatePromise`, - `ftruncatePromise`, - `unlinkPromise`, - `utimesPromise`, - `writeFilePromise`, - `writeSync` -]); -function patchFs(patchedFs, fakeFs) { - fakeFs = new NodePathFS(fakeFs); - const setupFn = (target, name, replacement) => { - const orig = target[name]; - target[name] = replacement; - if (typeof orig?.[nodeUtils.promisify.custom] !== `undefined`) { - replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom]; - } - }; - { - 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`, (...args) => { - let [fd, buffer, offset, length, position, callback] = args; - if (args.length <= 3) { - let options = {}; - if (args.length < 3) { - callback = args[1]; - } else { - options = args[1]; - callback = args[2]; - } - ({ - buffer = Buffer.alloc(16384), - offset = 0, - length = buffer.byteLength, - position - } = options); - } - if (offset == null) - offset = 0; - length |= 0; - if (length === 0) { - process.nextTick(() => { - callback(null, 0, buffer); - }); - return; - } - if (position == null) - position = -1; - process.nextTick(() => { - fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { - callback(null, bytesRead, buffer); - }, (error) => { - 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; - } - { - setupFn(patchedFs, `existsSync`, (p) => { - try { - return fakeFs.existsSync(p); - } catch (error) { - return false; - } - }); - setupFn(patchedFs, `readSync`, (...args) => { - let [fd, buffer, offset, length, position] = args; - if (args.length <= 3) { - const options = args[2] || {}; - ({ offset = 0, length = buffer.byteLength, position } = options); - } - if (offset == null) - offset = 0; - length |= 0; - if (length === 0) - return 0; - if (position == null) - position = -1; - return fakeFs.readSync(fd, buffer, offset, length, position); - }); - 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; - } - { - const patchedFsPromises = patchedFs.promises; - 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; - if (fnName === `open`) - continue; - setupFn(patchedFsPromises, origName, (pathLike, ...args) => { - if (pathLike instanceof FileHandle) { - return pathLike[origName].apply(pathLike, args); - } else { - return fakeImpl.call(fakeFs, pathLike, ...args); - } - }); - } - setupFn(patchedFsPromises, `open`, async (...args) => { - const fd = await fakeFs.openPromise(...args); - return new FileHandle(fd, fakeFs); - }); - } - { - patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { - const res = fakeFs.readPromise(fd, buffer, ...args); - return { bytesRead: await res, buffer }; - }; - patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { - const res = fakeFs.writePromise(fd, buffer, ...args); - return { bytesWritten: await res, buffer }; - }; - } -} - -let cachedInstance; -let registeredFactory = () => { - throw new Error(`Assertion failed: No libzip instance is available, and no factory was configured`); -}; -function setFactory(factory) { - registeredFactory = factory; -} -function getInstance() { - if (typeof cachedInstance === `undefined`) - cachedInstance = registeredFactory(); - return cachedInstance; -} - -var libzipSync = {exports: {}}; - -(function (module, exports) { -var frozenFs = Object.assign({}, fs__default.default); -var createModule = function() { - var _scriptDir = void 0; - if (typeof __filename !== "undefined") _scriptDir = _scriptDir || __filename; - return function(createModule2) { - createModule2 = createModule2 || {}; - var Module = typeof createModule2 !== "undefined" ? createModule2 : {}; - var readyPromiseResolve, readyPromiseReject; - Module["ready"] = new Promise(function(resolve, reject) { - readyPromiseResolve = resolve; - readyPromiseReject = reject; - }); - var moduleOverrides = {}; - var key; - for (key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } - } - var scriptDirectory = ""; - function locateFile(path) { - if (Module["locateFile"]) { - return Module["locateFile"](path, scriptDirectory); - } - return scriptDirectory + path; - } - var read_, readBinary; - var nodeFS; - var nodePath; - { - { - 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 = path__default.default; - filename = nodePath["normalize"](filename); - return nodeFS["readFileSync"](filename, binary ? null : "utf8"); - }; - readBinary = function readBinary2(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; - }; - if (process["argv"].length > 1) { - process["argv"][1].replace(/\\/g, "/"); - } - process["argv"].slice(2); - Module["inspect"] = function() { - return "[Emscripten Module object]"; - }; - } - 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"]) ; - if (Module["thisProgram"]) ; - if (Module["quit"]) ; - var wasmBinary; - if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; - 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 LE_HEAP_LOAD_I16((ptr >> 1) * 2); - case "i32": - return LE_HEAP_LOAD_I32((ptr >> 2) * 4); - case "i64": - return LE_HEAP_LOAD_I32((ptr >> 2) * 4); - case "float": - return LE_HEAP_LOAD_F32((ptr >> 2) * 4); - case "double": - return LE_HEAP_LOAD_F64((ptr >> 3) * 8); - default: - abort("invalid type for getValue: " + type); - } - return null; - } - var wasmMemory; - var ABORT = false; - 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 ret2 = 0; - if (str !== null && str !== void 0 && str !== 0) { - var len = (str.length << 2) + 1; - ret2 = stackAlloc(len); - stringToUTF8(str, ret2, len); - } - return ret2; - }, - array: function(arr) { - var ret2 = stackAlloc(arr.length); - writeArrayToMemory(arr, ret2); - return ret2; - } - }; - function convertReturnValue(ret2) { - if (returnType === "string") return UTF8ToString(ret2); - if (returnType === "boolean") return Boolean(ret2); - return ret2; - } - 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); - }; - } - var UTF8Decoder = new TextDecoder("utf8"); - function UTF8ToString(ptr, maxBytesToRead) { - if (!ptr) return ""; - var maxPtr = ptr + maxBytesToRead; - for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end; - return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); - } - 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, buffer2) { - HEAP8.set(array, buffer2); - } - function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - x % multiple; - } - return x; - } - var buffer, HEAP8, HEAPU8; - var HEAP_DATA_VIEW; - function updateGlobalBufferAndViews(buf) { - buffer = buf; - Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(buf); - Module["HEAP8"] = HEAP8 = new Int8Array(buf); - Module["HEAP16"] = new Int16Array(buf); - Module["HEAP32"] = new Int32Array(buf); - Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); - Module["HEAPU16"] = new Uint16Array(buf); - Module["HEAPU32"] = new Uint32Array(buf); - Module["HEAPF32"] = new Float32Array(buf); - Module["HEAPF64"] = new Float64Array(buf); - } - Module["INITIAL_MEMORY"] || 16777216; - var wasmTable; - var __ATPRERUN__ = []; - var __ATINIT__ = []; - var __ATPOSTRUN__ = []; - 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() { - 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 dependenciesFulfilled = null; - function addRunDependency(id) { - runDependencies++; - if (Module["monitorRunDependencies"]) { - Module["monitorRunDependencies"](runDependencies); - } - } - function removeRunDependency(id) { - runDependencies--; - if (Module["monitorRunDependencies"]) { - Module["monitorRunDependencies"](runDependencies); - } - if (runDependencies == 0) { - 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; - what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; - var e = new WebAssembly.RuntimeError(what); - readyPromiseReject(e); - 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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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w=="; - 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 (err2) { - abort(err2); - } - } - function instantiateSync(file, info) { - var instance; - var module2; - var binary; - try { - binary = getBinary(file); - module2 = new WebAssembly.Module(binary); - instance = new WebAssembly.Instance(module2, 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, module2]; - } - function createWasm() { - var info = { a: asmLibraryArg }; - function receiveInstance(instance, module2) { - var exports3 = instance.exports; - Module["asm"] = exports3; - wasmMemory = Module["asm"]["g"]; - updateGlobalBufferAndViews(wasmMemory.buffer); - wasmTable = Module["asm"]["W"]; - addOnInit(Module["asm"]["h"]); - removeRunDependency(); - } - addRunDependency(); - if (Module["instantiateWasm"]) { - try { - var exports2 = Module["instantiateWasm"](info, receiveInstance); - return exports2; - } catch (e) { - err("Module.instantiateWasm callback failed with error: " + e); - return false; - } - } - var result = instantiateSync(wasmBinaryFile, info); - receiveInstance(result[0]); - return Module["asm"]; - } - function LE_HEAP_LOAD_F32(byteOffset) { - return HEAP_DATA_VIEW.getFloat32(byteOffset, true); - } - function LE_HEAP_LOAD_F64(byteOffset) { - return HEAP_DATA_VIEW.getFloat64(byteOffset, true); - } - function LE_HEAP_LOAD_I16(byteOffset) { - return HEAP_DATA_VIEW.getInt16(byteOffset, true); - } - function LE_HEAP_LOAD_I32(byteOffset) { - return HEAP_DATA_VIEW.getInt32(byteOffset, true); - } - function LE_HEAP_STORE_I32(byteOffset, value) { - HEAP_DATA_VIEW.setInt32(byteOffset, value, true); - } - 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 === void 0) { - wasmTable.get(func)(); - } else { - wasmTable.get(func)(callback.arg); - } - } else { - func(callback.arg === void 0 ? null : callback.arg); - } - } - } - function _gmtime_r(time, tmPtr) { - var date = new Date(LE_HEAP_LOAD_I32((time >> 2) * 4) * 1e3); - LE_HEAP_STORE_I32((tmPtr >> 2) * 4, date.getUTCSeconds()); - LE_HEAP_STORE_I32((tmPtr + 4 >> 2) * 4, date.getUTCMinutes()); - LE_HEAP_STORE_I32((tmPtr + 8 >> 2) * 4, date.getUTCHours()); - LE_HEAP_STORE_I32((tmPtr + 12 >> 2) * 4, date.getUTCDate()); - LE_HEAP_STORE_I32((tmPtr + 16 >> 2) * 4, date.getUTCMonth()); - LE_HEAP_STORE_I32((tmPtr + 20 >> 2) * 4, date.getUTCFullYear() - 1900); - LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); - LE_HEAP_STORE_I32((tmPtr + 36 >> 2) * 4, 0); - LE_HEAP_STORE_I32((tmPtr + 32 >> 2) * 4, 0); - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); - var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; - LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); - if (!_gmtime_r.GMTString) _gmtime_r.GMTString = allocateUTF8("GMT"); - LE_HEAP_STORE_I32((tmPtr + 40 >> 2) * 4, _gmtime_r.GMTString); - return tmPtr; - } - function ___gmtime_r(a0, a1) { - return _gmtime_r(a0, a1); - } - 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 _setTempRet0(val) { - } - function _time(ptr) { - var ret = Date.now() / 1e3 | 0; - if (ptr) { - LE_HEAP_STORE_I32((ptr >> 2) * 4, ret); - } - return ret; - } - function _tzset() { - if (_tzset.called) return; - _tzset.called = true; - var currentYear = (/* @__PURE__ */ 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); - LE_HEAP_STORE_I32((__get_timezone() >> 2) * 4, stdTimezoneOffset * 60); - LE_HEAP_STORE_I32( - (__get_daylight() >> 2) * 4, - 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) { - LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, winterNamePtr); - LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, summerNamePtr); - } else { - LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, summerNamePtr); - LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, winterNamePtr); - } - } - function _timegm(tmPtr) { - _tzset(); - var time = Date.UTC( - LE_HEAP_LOAD_I32((tmPtr + 20 >> 2) * 4) + 1900, - LE_HEAP_LOAD_I32((tmPtr + 16 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr + 12 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr + 8 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr + 4 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr >> 2) * 4), - 0 - ); - var date = new Date(time); - LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); - var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; - LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); - return date.getTime() / 1e3 | 0; - } - function intArrayFromBase64(s) { - { - var buf; - try { - buf = Buffer.from(s, "base64"); - } catch (_) { - buf = new Buffer(s, "base64"); - } - return new Uint8Array( - buf["buffer"], - buf["byteOffset"], - buf["byteLength"] - ); - } - } - function tryParseAsDataURI(filename) { - if (!isDataURI(filename)) { - return; - } - return intArrayFromBase64(filename.slice(dataURIPrefix.length)); - } - var asmLibraryArg = { - e: ___gmtime_r, - c: _emscripten_memcpy_big, - d: _emscripten_resize_heap, - a: _setTempRet0, - b: _time, - f: _timegm - }; - var asm = createWasm(); - Module["___wasm_call_ctors"] = asm["h"]; - Module["_zip_ext_count_symlinks"] = asm["i"]; - Module["_zip_file_get_external_attributes"] = asm["j"]; - Module["_zipstruct_statS"] = asm["k"]; - Module["_zipstruct_stat_size"] = asm["l"]; - Module["_zipstruct_stat_mtime"] = asm["m"]; - Module["_zipstruct_stat_crc"] = asm["n"]; - Module["_zipstruct_errorS"] = asm["o"]; - Module["_zipstruct_error_code_zip"] = asm["p"]; - Module["_zipstruct_stat_comp_size"] = asm["q"]; - Module["_zipstruct_stat_comp_method"] = asm["r"]; - Module["_zip_close"] = asm["s"]; - Module["_zip_delete"] = asm["t"]; - Module["_zip_dir_add"] = asm["u"]; - Module["_zip_discard"] = asm["v"]; - Module["_zip_error_init_with_code"] = asm["w"]; - Module["_zip_get_error"] = asm["x"]; - Module["_zip_file_get_error"] = asm["y"]; - Module["_zip_error_strerror"] = asm["z"]; - Module["_zip_fclose"] = asm["A"]; - Module["_zip_file_add"] = asm["B"]; - Module["_free"] = asm["C"]; - var _malloc = Module["_malloc"] = asm["D"]; - Module["_zip_source_error"] = asm["E"]; - Module["_zip_source_seek"] = asm["F"]; - Module["_zip_file_set_external_attributes"] = asm["G"]; - Module["_zip_file_set_mtime"] = asm["H"]; - Module["_zip_fopen_index"] = asm["I"]; - Module["_zip_fread"] = asm["J"]; - Module["_zip_get_name"] = asm["K"]; - Module["_zip_get_num_entries"] = asm["L"]; - Module["_zip_source_read"] = asm["M"]; - Module["_zip_name_locate"] = asm["N"]; - Module["_zip_open_from_source"] = asm["O"]; - Module["_zip_set_file_compression"] = asm["P"]; - Module["_zip_source_buffer"] = asm["Q"]; - Module["_zip_source_buffer_create"] = asm["R"]; - Module["_zip_source_close"] = asm["S"]; - Module["_zip_source_free"] = asm["T"]; - Module["_zip_source_keep"] = asm["U"]; - Module["_zip_source_open"] = asm["V"]; - Module["_zip_source_tell"] = asm["X"]; - Module["_zip_stat_index"] = asm["Y"]; - var __get_tzname = Module["__get_tzname"] = asm["Z"]; - var __get_daylight = Module["__get_daylight"] = asm["_"]; - var __get_timezone = Module["__get_timezone"] = asm["$"]; - var stackSave = Module["stackSave"] = asm["aa"]; - var stackRestore = Module["stackRestore"] = asm["ba"]; - var stackAlloc = Module["stackAlloc"] = asm["ca"]; - Module["cwrap"] = cwrap; - Module["getValue"] = getValue; - var calledRun; - dependenciesFulfilled = function runCaller() { - if (!calledRun) run(); - if (!calledRun) dependenciesFulfilled = runCaller; - }; - function run(args) { - if (runDependencies > 0) { - return; - } - preRun(); - if (runDependencies > 0) { - return; - } - function doRun() { - if (calledRun) return; - calledRun = true; - Module["calledRun"] = true; - if (ABORT) return; - initRuntime(); - readyPromiseResolve(Module); - 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(); - return createModule2; - }; -}(); -module.exports = createModule; -}(libzipSync)); - -const createModule = libzipSync.exports; - -const number64 = [ - `number`, - // low - `number` - // high -]; -var Errors = /* @__PURE__ */ ((Errors2) => { - Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; - Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; - Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; - Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; - Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; - Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; - Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; - Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; - Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; - Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; - Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; - Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; - Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; - Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; - Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; - Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; - Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; - Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; - Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; - Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; - Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; - Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; - Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; - Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; - Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; - Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; - Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; - Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; - Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; - Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; - Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; - Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; - return Errors2; -})(Errors || {}); -const makeInterface = (emZip) => ({ - // Those are getters because they can change after memory growth - get HEAPU8() { - return emZip.HEAPU8; - }, - errors: Errors, - SEEK_SET: 0, - SEEK_CUR: 1, - SEEK_END: 2, - ZIP_CHECKCONS: 4, - ZIP_EXCL: 2, - 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: emZip._malloc(1), - uint32S: emZip._malloc(4), - malloc: emZip._malloc, - free: emZip._free, - getValue: emZip.getValue, - openFromSource: emZip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), - close: emZip.cwrap(`zip_close`, `number`, [`number`]), - discard: emZip.cwrap(`zip_discard`, null, [`number`]), - getError: emZip.cwrap(`zip_get_error`, `number`, [`number`]), - getName: emZip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), - getNumEntries: emZip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), - delete: emZip.cwrap(`zip_delete`, `number`, [`number`, `number`]), - statIndex: emZip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), - fopenIndex: emZip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), - fread: emZip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), - fclose: emZip.cwrap(`zip_fclose`, `number`, [`number`]), - dir: { - add: emZip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) - }, - file: { - add: emZip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), - getError: emZip.cwrap(`zip_file_get_error`, `number`, [`number`]), - getExternalAttributes: emZip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), - setExternalAttributes: emZip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), - setMtime: emZip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), - setCompression: emZip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) - }, - ext: { - countSymlinks: emZip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) - }, - error: { - initWithCode: emZip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), - strerror: emZip.cwrap(`zip_error_strerror`, `string`, [`number`]) - }, - name: { - locate: emZip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) - }, - source: { - fromUnattachedBuffer: emZip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]), - fromBuffer: emZip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), - free: emZip.cwrap(`zip_source_free`, null, [`number`]), - keep: emZip.cwrap(`zip_source_keep`, null, [`number`]), - open: emZip.cwrap(`zip_source_open`, `number`, [`number`]), - close: emZip.cwrap(`zip_source_close`, `number`, [`number`]), - seek: emZip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), - tell: emZip.cwrap(`zip_source_tell`, `number`, [`number`]), - read: emZip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), - error: emZip.cwrap(`zip_source_error`, `number`, [`number`]) - }, - struct: { - statS: emZip.cwrap(`zipstruct_statS`, `number`, []), - statSize: emZip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), - statCompSize: emZip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), - statCompMethod: emZip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), - statMtime: emZip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), - statCrc: emZip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), - errorS: emZip.cwrap(`zipstruct_errorS`, `number`, []), - errorCodeZip: emZip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) - } -}); - -function 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; - if (path[idx - 1] === ppath.sep) - return null; - idx = path.indexOf(extension, nextCharIdx); - } - if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) - return null; - return path.slice(0, nextCharIdx); -} -class ZipOpenFS extends MountFS { - static async openPromise(fn, opts) { - const zipOpenFs = new ZipOpenFS(opts); - try { - return await fn(zipOpenFs); - } finally { - zipOpenFs.saveAndClose(); - } - } - constructor(opts = {}) { - const fileExtensions = opts.fileExtensions; - const readOnlyArchives = opts.readOnlyArchives; - const getMountPoint = typeof fileExtensions === `undefined` ? (path) => getArchivePart(path, `.zip`) : (path) => { - for (const extension of fileExtensions) { - const result = getArchivePart(path, extension); - if (result) { - return result; - } - } - return null; - }; - const factorySync = (baseFs, p) => { - return new ZipFS(p, { - baseFs, - readOnly: readOnlyArchives, - stats: baseFs.statSync(p) - }); - }; - const factoryPromise = async (baseFs, p) => { - const zipOptions = { - baseFs, - readOnly: readOnlyArchives, - stats: await baseFs.statPromise(p) - }; - return () => { - return new ZipFS(p, zipOptions); - }; - }; - super({ - ...opts, - factorySync, - factoryPromise, - getMountPoint - }); - } -} - -const DEFAULT_COMPRESSION_LEVEL = `mixed`; -function toUnixTimestamp(time) { - if (typeof time === `string` && String(+time) === time) - return +time; - if (typeof time === `number` && Number.isFinite(time)) { - if (time < 0) { - return Date.now() / 1e3; - } else { - return time; - } - } - if (nodeUtils.types.isDate(time)) - return time.getTime() / 1e3; - throw new Error(`Invalid time`); -} -function makeEmptyArchive() { - 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 - ]); -} -class LibzipError extends Error { - code; - constructor(message, code) { - super(message); - this.name = `Libzip Error`; - this.code = code; - } -} -class ZipFS extends BasePortableFakeFS { - libzip; - baseFs; - path; - stats; - zip; - lzSource; - level; - listings = /* @__PURE__ */ new Map(); - entries = /* @__PURE__ */ new Map(); - /** - * A cache of indices mapped to file sources. - * Populated by `setFileSource` calls. - * Required for supporting read after write. - */ - fileSources = /* @__PURE__ */ new Map(); - symlinkCount; - fds = /* @__PURE__ */ new Map(); - nextFd = 0; - ready = false; - readOnly = false; - constructor(source, opts = {}) { - super(); - const pathOptions = opts; - this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; - 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(); - } - } - this.libzip = getInstance(); - const errPtr = this.libzip.malloc(4); - try { - let flags = 0; - if (opts.readOnly) { - flags |= this.libzip.ZIP_RDONLY; - this.readOnly = true; - } - if (typeof source === `string`) - source = pathOptions.create ? makeEmptyArchive() : this.baseFs.readFileSync(source); - 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, /* @__PURE__ */ 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 (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]); - 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; - } - prepareClose() { - if (!this.ready) - throw EBUSY(`archive closed, close`); - unwatchAllFiles(this); - } - getBufferAndClose() { - this.prepareClose(); - if (this.entries.size === 0) { - this.discardAndClose(); - return makeEmptyArchive(); - } - try { - this.libzip.source.keep(this.lzSource); - if (this.libzip.close(this.zip) === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - if (this.libzip.source.open(this.lzSource) === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - const size = this.libzip.source.tell(this.lzSource); - if (size === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - 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`); - let result = Buffer.from(this.libzip.HEAPU8.subarray(buffer, buffer + size)); - if (process.env.YARN_IS_TEST_ENV && process.env.YARN_ZIP_DATA_EPILOGUE) - result = Buffer.concat([result, Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)]); - return result; - } finally { - this.libzip.free(buffer); - } - } finally { - this.libzip.source.close(this.lzSource); - this.libzip.source.free(this.lzSource); - this.ready = false; - } - } - discardAndClose() { - this.prepareClose(); - this.libzip.discard(this.zip); - this.ready = false; - } - saveAndClose() { - if (!this.path || !this.baseFs) - throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); - if (this.readOnly) { - this.discardAndClose(); - return; - } - const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode; - this.baseFs.writeFileSync(this.path, this.getBufferAndClose(), { mode: newMode }); - 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`); - const realPosition = position === -1 || position === null ? entry.cursor : 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$1 = Object.assign( - new stream.PassThrough({ - emitClose: true, - autoDestroy: true, - destroy: (error, callback) => { - clearImmediate(immediate); - this.closeSync(fd); - callback(error); - } - }), - { - close() { - stream$1.destroy(); - }, - bytesRead: 0, - path: p, - // "This property is `true` if the underlying file has not been opened yet" - pending: false - } - ); - const immediate = setImmediate(async () => { - try { - const data = await this.readFilePromise(p, encoding); - stream$1.bytesRead = data.length; - stream$1.end(data); - } catch (error) { - stream$1.destroy(error); - } - }); - return stream$1; - } - 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$1 = Object.assign( - new stream.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); - } - } - }), - { - close() { - stream$1.destroy(); - }, - bytesWritten: 0, - path: p, - // "This property is `true` if the underlying file has not been opened yet" - pending: false - } - ); - stream$1.on(`data`, (chunk) => { - const chunkBuffer = Buffer.from(chunk); - stream$1.bytesWritten += chunkBuffer.length; - chunks.push(chunkBuffer); - }); - return stream$1; - } - 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 resolvedP2 = ppath.resolve(PortablePath.root, p); - return this.entries.has(resolvedP2) || this.listings.has(resolvedP2); - } - let resolvedP; - try { - resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false); - } catch (error) { - return false; - } - if (resolvedP === void 0) - return false; - return this.entries.has(resolvedP) || this.listings.has(resolvedP); - } - async accessPromise(p, mode) { - return this.accessSync(p, mode); - } - accessSync(p, mode = 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 & fs.constants.W_OK) { - throw EROFS(`access '${p}'`); - } - } - async statPromise(p, opts = { bigint: false }) { - if (opts.bigint) - return this.statSync(p, { bigint: true }); - return this.statSync(p); - } - statSync(p, opts = { bigint: false, throwIfNoEntry: true }) { - const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry); - if (resolvedP === void 0) - return void 0; - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { - if (opts.throwIfNoEntry === false) - return void 0; - 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 = { bigint: false }) { - if (opts.bigint) - return this.lstatSync(p, { bigint: true }); - return this.lstatSync(p); - } - lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) { - const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry); - if (resolvedP === void 0) - return void 0; - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { - if (opts.throwIfNoEntry === false) - return void 0; - 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); - 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) * 1e3; - 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) ? fs.constants.S_IFDIR : this.isSymbolicLink(entry) ? fs.constants.S_IFLNK : fs.constants.S_IFREG; - const defaultMode = type === fs.constants.S_IFDIR ? 493 : 420; - const mode = type | this.getUnixMode(entry, defaultMode) & 511; - 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; - } - 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 = fs.constants.S_IFDIR | 493; - 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) { - const existingListing = this.listings.get(p); - if (existingListing) - return existingListing; - const parentListing = this.registerListing(ppath.dirname(p)); - parentListing.add(ppath.basename(p)); - const newListing = /* @__PURE__ */ new Set(); - this.listings.set(p, newListing); - return newListing; - } - 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?.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, throwIfNoEntry = 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 !== void 0) { - if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { - const target = this.getFileSource(fileIndex).toString(); - return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); - } else { - return resolvedP; - } - } - while (true) { - const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry); - if (parentP === void 0) - return parentP; - const isDir = this.listings.has(parentP); - const doesExist = this.entries.has(parentP); - if (!isDir && !doesExist) { - if (throwIfNoEntry === false) - return void 0; - 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), 0); - 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`); - 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, 1, 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, 1); - 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`) { - const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : 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 & fs.constants.S_IFMT) === fs.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 rc2 = this.libzip.fread(file, buffer, size, 0); - if (rc2 === -1) - throw this.makeLibzipError(this.libzip.file.getError(file)); - else if (rc2 < size) - throw new Error(`Incomplete read`); - else if (rc2 > 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) => { - zlib__default.default.inflateRaw(data, (error, result) => { - if (error) { - reject(error); - } else { - this.fileSources.set(index, result); - resolve(result); - } - }); - }); - } else { - const decompressedData = zlib__default.default.inflateRawSync(data); - this.fileSources.set(index, decompressedData); - return decompressedData; - } - } finally { - this.libzip.fclose(file); - } - } finally { - this.libzip.free(buffer); - } - } - async fchmodPromise(fd, mask) { - return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask); - } - fchmodSync(fd, mask) { - return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask); - } - async chmodPromise(p, mask) { - return this.chmodSync(p, mask); - } - chmodSync(p, mask) { - if (this.readOnly) - throw EROFS(`chmod '${p}'`); - mask &= 493; - 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, fs.constants.S_IFREG | 0); - const newMod = oldMod & ~511 | 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 fchownPromise(fd, uid, gid) { - return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid); - } - fchownSync(fd, uid, gid) { - return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid); - } - 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 & 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 & (fs.constants.COPYFILE_EXCL | 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) { - const path = this.fds.get(fd)?.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 !== void 0 && 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 !== void 0 && 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 === void 0) - 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 = 493, recursive = false } = {}) { - if (recursive) - return this.mkdirpSync(p, { chmod: mode }); - 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); - return void 0; - } - 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); - } - async rmPromise(p, opts) { - return this.rmSync(p, opts); - } - rmSync(p, { recursive = false } = {}) { - if (this.readOnly) - throw EROFS(`rm '${p}'`); - if (recursive) { - this.removeSync(p); - return; - } - const resolvedP = this.resolveFilename(`rm '${p}'`, p); - const directoryListing = this.listings.get(resolvedP); - if (!directoryListing) - throw ENOTDIR(`rm '${p}'`); - if (directoryListing.size > 0) - throw ENOTEMPTY(`rm '${p}'`); - const index = this.entries.get(resolvedP); - if (typeof index === `undefined`) - throw EINVAL(`rm '${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) { - 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, (fs.constants.S_IFLNK | 511) << 16); - if (rc === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - this.symlinkCount += 1; - } - async readFilePromise(p, encoding) { - if (typeof encoding === `object`) - encoding = encoding ? encoding.encoding : void 0; - const data = await this.readFileBuffer(p, { asyncDecompress: true }); - return encoding ? data.toString(encoding) : data; - } - readFileSync(p, encoding) { - if (typeof encoding === `object`) - encoding = encoding ? encoding.encoding : void 0; - 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}'`); - 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 === void 0) - 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}'`); - if (opts?.recursive) { - if (opts?.withFileTypes) { - const entries = Array.from(directoryListing, (name) => { - return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { - name, - path: PortablePath.dot - }); - }); - for (const entry of entries) { - if (!entry.isDirectory()) - continue; - const subPath = ppath.join(entry.path, entry.name); - const subListing = this.listings.get(ppath.join(resolvedP, subPath)); - for (const child of subListing) { - entries.push(Object.assign(this.statImpl(`lstat`, ppath.join(p, subPath, child)), { - name: child, - path: subPath - })); - } - } - return entries; - } else { - const entries = [...directoryListing]; - for (const subPath of entries) { - const subListing = this.listings.get(ppath.join(resolvedP, subPath)); - if (typeof subListing === `undefined`) - continue; - for (const child of subListing) { - entries.push(ppath.join(subPath, child)); - } - } - return entries; - } - } else if (opts?.withFileTypes) { - return Array.from(directoryListing, (name) => { - return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { - name, - path: void 0 - }); - }); - } else { - return [...directoryListing]; - } - } - 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}'`); - 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 === void 0) - 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, 0); - 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, 0); - source.copy(truncated); - return this.writeFileSync(p, truncated); - } - async ftruncatePromise(fd, len) { - return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len); - } - ftruncateSync(fd, len) { - return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len); - } - 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 * 1e3); - 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); - } -} - -setFactory(() => { - const emZip = createModule(); - return makeInterface(emZip); -}); - -var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { - ErrorCode2["API_ERROR"] = `API_ERROR`; - ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; - ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; - ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; - ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; - ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; - ErrorCode2["INTERNAL"] = `INTERNAL`; - ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; - ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; - return ErrorCode2; -})(ErrorCode || {}); -const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ - "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, - "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, - "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, - "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */, - "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ -]); -function makeError(pnpCode, message, data = {}, code) { - 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 - } - }); -} -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)); -} - -const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); -const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; - -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; -} -function readPackage(requestPath) { - const jsonPath = npath.resolve(requestPath, `package.json`); - if (!fs__default.default.existsSync(jsonPath)) - return null; - return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); -} -function ERR_REQUIRE_ESM(filename, parentPath = null) { - const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); - const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. -Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; - const err = new Error(msg); - err.code = `ERR_REQUIRE_ESM`; - return err; -} -function reportRequiredFilesToWatchMode(files) { - if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { - files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename)))); - if (WATCH_MODE_MESSAGE_USES_ARRAYS) { - process.send({ "watch:require": files }); - } else { - for (const filename of files) { - process.send({ "watch:require": filename }); - } - } - } -} - -function applyPatch(pnpapi, opts) { - let enableNativeHooks = true; - process.versions.pnp = String(pnpapi.VERSIONS.std); - const moduleExports = require$$0__default.default; - moduleExports.findPnpApi = (lookupSource) => { - const lookupPath = lookupSource instanceof URL ? url.fileURLToPath(lookupSource) : lookupSource; - const apiPath = opts.manager.findApiPathFor(lookupPath); - if (apiPath === null) - return null; - const apiEntry = opts.manager.getApiEntry(apiPath, true); - 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; - } - const originalModuleLoad = require$$0.Module._load; - require$$0.Module._load = function(request, parent, isMain) { - if (request === `pnpapi`) { - const parentApiPath = opts.manager.getApiPathFromParent(parent); - if (parentApiPath) { - return opts.manager.getApiEntry(parentApiPath, true).instance; - } - } - return originalModuleLoad.call(require$$0.Module, request, parent, isMain); - }; - function getIssuerSpecsFromPaths(paths) { - return paths.map((path) => ({ - apiPath: opts.manager.findApiPathFor(path), - path, - module: null - })); - } - function getIssuerSpecsFromModule(module) { - 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 = opts.manager.findApiPathFor(npath.join(path, `[file]`)) ?? opts.manager.getApiPathFromParent(null); - return [{ apiPath, path, module }]; - } - } - function makeFakeParent(path) { - const fakeParent = new require$$0.Module(``); - const fakeFilePath = npath.join(path, `[file]`); - fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); - return fakeParent; - } - const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; - const originalModuleResolveFilename = require$$0.Module._resolveFilename; - require$$0.Module._resolveFilename = function(request, parent, isMain, options) { - if (require$$0.isBuiltin(request)) - return request; - if (!enableNativeHooks) - return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); - if (options && options.plugnplay === false) { - const { plugnplay, ...forwardedOptions } = options; - try { - enableNativeHooks = false; - return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); - } finally { - enableNativeHooks = true; - } - } - if (options) { - const optionNames = new Set(Object.keys(options)); - optionNames.delete(`paths`); - optionNames.delete(`plugnplay`); - if (optionNames.size > 0) { - throw 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?.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 = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : 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(require$$0.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 += ` -Require stack: -- ${requireStack.join(` -- `)}`; - if (typeof firstError.pnpCode === `string`) - Error.captureStackTrace(firstError); - throw firstError; - }; - const originalFindPath = require$$0.Module._findPath; - require$$0.Module._findPath = function(request, paths, isMain) { - if (request === `pnpapi`) - return false; - if (!enableNativeHooks) - return originalFindPath.call(require$$0.Module, request, paths, isMain); - 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(require$$0.Module, request, [path], isMain); - } - } catch (error) { - continue; - } - if (resolution) { - return resolution; - } - } - return false; - }; - const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; - require$$0.Module._extensions[`.js`] = function(module, filename) { - if (filename.endsWith(`.js`)) { - const pkg = readPackageScope(filename); - if (pkg && pkg.data?.type === `module`) { - const err = ERR_REQUIRE_ESM(filename, module.parent?.filename); - Error.captureStackTrace(err); - throw err; - } - } - originalExtensionJSFunction.call(this, module, filename); - }; - const originalDlopen = process.dlopen; - process.dlopen = function(...args) { - const [module, filename, ...rest] = args; - return originalDlopen.call( - this, - module, - npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), - ...rest - ); - }; - const originalEmit = process.emit; - process.emit = function(name, data, ...args) { - if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) - return false; - return originalEmit.apply(process, arguments); - }; - patchFs(fs__default.default, new PosixFS(opts.fakeFs)); -} - -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 = /* @__PURE__ */ new Map(); - const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { - return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { - if (packageName === null !== (packageReference === null)) - throw new Error(`Assertion failed: The name and reference should be null, or neither should`); - const discardFromLookup = packageInformationData.discardFromLookup ?? false; - 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() { - 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 - }; -} - -const ArrayIsArray = Array.isArray; -const JSONStringify = JSON.stringify; -const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; -const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); -const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); -const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); -const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); -const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); -const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); -const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); -const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); -const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); -const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); -const SafeMap = Map; -const JSONParse = JSON.parse; - -function createErrorType(code, messageCreator, errorType) { - return class extends errorType { - constructor(...args) { - super(messageCreator(...args)); - this.code = code; - this.name = `${errorType.name} [${code}]`; - } - }; -} -const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( - `ERR_PACKAGE_IMPORT_NOT_DEFINED`, - (specifier, packagePath, base) => { - return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; - }, - TypeError -); -const ERR_INVALID_MODULE_SPECIFIER = createErrorType( - `ERR_INVALID_MODULE_SPECIFIER`, - (request, reason, base = void 0) => { - return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; - }, - TypeError -); -const ERR_INVALID_PACKAGE_TARGET = createErrorType( - `ERR_INVALID_PACKAGE_TARGET`, - (pkgPath, key, target, isImport = false, base = void 0) => { - const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); - if (key === `.`) { - assert__default.default(isImport === false); - return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - } - return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( - target - )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - }, - Error -); -const ERR_INVALID_PACKAGE_CONFIG = createErrorType( - `ERR_INVALID_PACKAGE_CONFIG`, - (path, base, message) => { - return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; - }, - Error -); -const ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType( - "ERR_PACKAGE_PATH_NOT_EXPORTED", - (pkgPath, subpath, base = void 0) => { - if (subpath === ".") - return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; - return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; - }, - Error -); - -function filterOwnProperties(source, keys) { - const filtered = /* @__PURE__ */ Object.create(null); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (ObjectPrototypeHasOwnProperty(source, key)) { - filtered[key] = source[key]; - } - } - return filtered; -} - -const packageJSONCache = new SafeMap(); -function getPackageConfig(path, specifier, base, readFileSyncFn) { - const existing = packageJSONCache.get(path); - if (existing !== void 0) { - return existing; - } - const source = readFileSyncFn(path); - if (source === void 0) { - const packageConfig2 = { - pjsonPath: path, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(path, packageConfig2); - return packageConfig2; - } - let packageJSON; - try { - packageJSON = JSONParse(source); - } catch (error) { - throw new ERR_INVALID_PACKAGE_CONFIG( - path, - (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), - error.message - ); - } - let { imports, main, name, type } = filterOwnProperties(packageJSON, [ - "imports", - "main", - "name", - "type" - ]); - const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; - if (typeof imports !== "object" || imports === null) { - imports = void 0; - } - if (typeof main !== "string") { - main = void 0; - } - if (typeof name !== "string") { - name = void 0; - } - if (type !== "module" && type !== "commonjs") { - type = "none"; - } - const packageConfig = { - pjsonPath: path, - exists: true, - main, - name, - type, - exports, - imports - }; - packageJSONCache.set(path, packageConfig); - return packageConfig; -} -function getPackageScopeConfig(resolved, readFileSyncFn) { - let packageJSONUrl = new URL("./package.json", resolved); - while (true) { - const packageJSONPath2 = packageJSONUrl.pathname; - if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { - break; - } - const packageConfig2 = getPackageConfig( - url.fileURLToPath(packageJSONUrl), - resolved, - void 0, - readFileSyncFn - ); - if (packageConfig2.exists) { - return packageConfig2; - } - const lastPackageJSONUrl = packageJSONUrl; - packageJSONUrl = new URL("../package.json", packageJSONUrl); - if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { - break; - } - } - const packageJSONPath = url.fileURLToPath(packageJSONUrl); - const packageConfig = { - pjsonPath: packageJSONPath, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(packageJSONPath, packageConfig); - return packageConfig; -} - -function throwImportNotDefined(specifier, packageJSONUrl, base) { - throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( - specifier, - packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), - url.fileURLToPath(base) - ); -} -function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { - const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; - throw new ERR_INVALID_MODULE_SPECIFIER( - subpath, - reason, - base && url.fileURLToPath(base) - ); -} -function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { - if (typeof target === "object" && target !== null) { - target = JSONStringify(target, null, ""); - } else { - target = `${target}`; - } - throw new ERR_INVALID_PACKAGE_TARGET( - url.fileURLToPath(new URL(".", packageJSONUrl)), - subpath, - target, - internal, - base && url.fileURLToPath(base) - ); -} -const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; -const patternRegEx = /\*/g; -function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { - if (subpath !== "" && !pattern && target[target.length - 1] !== "/") - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (!StringPrototypeStartsWith(target, "./")) { - if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { - let isURL = false; - try { - new URL(target); - isURL = true; - } catch { - } - if (!isURL) { - const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; - return exportTarget; - } - } - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - } - if (RegExpPrototypeExec( - invalidSegmentRegEx, - StringPrototypeSlice(target, 2) - ) !== null) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - const resolved = new URL(target, packageJSONUrl); - const resolvedPath = resolved.pathname; - const packagePath = new URL(".", packageJSONUrl).pathname; - if (!StringPrototypeStartsWith(resolvedPath, packagePath)) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (subpath === "") return resolved; - if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { - const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; - throwInvalidSubpath(request, packageJSONUrl, internal, base); - } - if (pattern) { - return new URL( - RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) - ); - } - return new URL(subpath, resolved); -} -function isArrayIndex(key) { - const keyNum = +key; - if (`${keyNum}` !== key) return false; - return keyNum >= 0 && keyNum < 4294967295; -} -function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { - if (typeof target === "string") { - return resolvePackageTargetString( - target, - subpath, - packageSubpath, - packageJSONUrl, - base, - pattern, - internal); - } else if (ArrayIsArray(target)) { - if (target.length === 0) { - return null; - } - let lastException; - for (let i = 0; i < target.length; i++) { - const targetItem = target[i]; - let resolveResult; - try { - resolveResult = resolvePackageTarget( - packageJSONUrl, - targetItem, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - } catch (e) { - lastException = e; - if (e.code === "ERR_INVALID_PACKAGE_TARGET") { - continue; - } - throw e; - } - if (resolveResult === void 0) { - continue; - } - if (resolveResult === null) { - lastException = null; - continue; - } - return resolveResult; - } - if (lastException === void 0 || lastException === null) - return lastException; - throw lastException; - } else if (typeof target === "object" && target !== null) { - const keys = ObjectGetOwnPropertyNames(target); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (isArrayIndex(key)) { - throw new ERR_INVALID_PACKAGE_CONFIG( - url.fileURLToPath(packageJSONUrl), - base, - '"exports" cannot contain numeric property keys.' - ); - } - } - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key === "default" || conditions.has(key)) { - const conditionalTarget = target[key]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - conditionalTarget, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - if (resolveResult === void 0) continue; - return resolveResult; - } - } - return void 0; - } else if (target === null) { - return null; - } - throwInvalidPackageTarget( - packageSubpath, - target, - packageJSONUrl, - internal, - base - ); -} -function patternKeyCompare(a, b) { - const aPatternIndex = StringPrototypeIndexOf(a, "*"); - const bPatternIndex = StringPrototypeIndexOf(b, "*"); - const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; - const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; - if (baseLenA > baseLenB) return -1; - if (baseLenB > baseLenA) return 1; - if (aPatternIndex === -1) return 1; - if (bPatternIndex === -1) return -1; - if (a.length > b.length) return -1; - if (b.length > a.length) return 1; - return 0; -} -function isConditionalExportsMainSugar(exports, packageJSONUrl, base) { - if (typeof exports === "string" || ArrayIsArray(exports)) return true; - if (typeof exports !== "object" || exports === null) return false; - const keys = ObjectGetOwnPropertyNames(exports); - let isConditionalSugar = false; - let i = 0; - for (let j = 0; j < keys.length; j++) { - const key = keys[j]; - const curIsConditionalSugar = key === "" || key[0] !== "."; - if (i++ === 0) { - isConditionalSugar = curIsConditionalSugar; - } else if (isConditionalSugar !== curIsConditionalSugar) { - throw new ERR_INVALID_PACKAGE_CONFIG( - url.fileURLToPath(packageJSONUrl), - base, - `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` - ); - } - } - return isConditionalSugar; -} -function throwExportsNotFound(subpath, packageJSONUrl, base) { - throw new ERR_PACKAGE_PATH_NOT_EXPORTED( - url.fileURLToPath(new URL(".", packageJSONUrl)), - subpath, - base && url.fileURLToPath(base) - ); -} -const emittedPackageWarnings = /* @__PURE__ */ new Set(); -function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { - const pjsonPath = url.fileURLToPath(pjsonUrl); - if (emittedPackageWarnings.has(pjsonPath + "|" + match)) return; - emittedPackageWarnings.add(pjsonPath + "|" + match); - process.emitWarning( - `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, - "DeprecationWarning", - "DEP0155" - ); -} -function packageExportsResolve({ - packageJSONUrl, - packageSubpath, - exports, - base, - conditions -}) { - if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) - exports = { ".": exports }; - if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { - const target = exports[packageSubpath]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - "", - packageSubpath, - base, - false, - false, - conditions - ); - if (resolveResult == null) { - throwExportsNotFound(packageSubpath, packageJSONUrl, base); - } - return resolveResult; - } - let bestMatch = ""; - let bestMatchSubpath; - const keys = ObjectGetOwnPropertyNames(exports); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = StringPrototypeIndexOf(key, "*"); - if (patternIndex !== -1 && StringPrototypeStartsWith( - packageSubpath, - StringPrototypeSlice(key, 0, patternIndex) - )) { - if (StringPrototypeEndsWith(packageSubpath, "/")) - emitTrailingSlashPatternDeprecation( - packageSubpath, - packageJSONUrl, - base - ); - const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); - if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = StringPrototypeSlice( - packageSubpath, - patternIndex, - packageSubpath.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = exports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - false, - conditions - ); - if (resolveResult == null) { - throwExportsNotFound(packageSubpath, packageJSONUrl, base); - } - return resolveResult; - } - throwExportsNotFound(packageSubpath, packageJSONUrl, base); -} -function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { - if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { - const reason = "is not a valid internal imports specifier name"; - throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); - } - let packageJSONUrl; - const packageConfig = getPackageScopeConfig(base, readFileSyncFn); - if (packageConfig.exists) { - packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); - const imports = packageConfig.imports; - if (imports) { - if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { - const resolveResult = resolvePackageTarget( - packageJSONUrl, - imports[name], - "", - name, - base, - false, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } else { - let bestMatch = ""; - let bestMatchSubpath; - const keys = ObjectGetOwnPropertyNames(imports); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = StringPrototypeIndexOf(key, "*"); - if (patternIndex !== -1 && StringPrototypeStartsWith( - name, - StringPrototypeSlice(key, 0, patternIndex) - )) { - const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); - if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = StringPrototypeSlice( - name, - patternIndex, - name.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = imports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } - } - } - } - throwImportNotDefined(name, packageJSONUrl, base); -} - -const flagSymbol = Symbol('arg flag'); - -class ArgError extends Error { - constructor(msg, code) { - super(msg); - this.name = 'ArgError'; - this.code = code; - - Object.setPrototypeOf(this, ArgError.prototype); - } -} - -function arg( - opts, - { - argv = process.argv.slice(2), - permissive = false, - stopAtPositional = false - } = {} -) { - if (!opts) { - throw new ArgError( - 'argument specification object is required', - 'ARG_CONFIG_NO_SPEC' - ); - } - - const result = { _: [] }; - - const aliases = {}; - const handlers = {}; - - for (const key of Object.keys(opts)) { - if (!key) { - throw new ArgError( - 'argument key cannot be an empty string', - 'ARG_CONFIG_EMPTY_KEY' - ); - } - - if (key[0] !== '-') { - throw new ArgError( - `argument key must start with '-' but found: '${key}'`, - 'ARG_CONFIG_NONOPT_KEY' - ); - } - - if (key.length === 1) { - throw new ArgError( - `argument key must have a name; singular '-' keys are not allowed: ${key}`, - 'ARG_CONFIG_NONAME_KEY' - ); - } - - if (typeof opts[key] === 'string') { - aliases[key] = opts[key]; - continue; - } - - let type = opts[key]; - let isFlag = false; - - if ( - Array.isArray(type) && - type.length === 1 && - typeof type[0] === 'function' - ) { - const [fn] = type; - type = (value, name, prev = []) => { - prev.push(fn(value, name, prev[prev.length - 1])); - return prev; - }; - isFlag = fn === Boolean || fn[flagSymbol] === true; - } else if (typeof type === 'function') { - isFlag = type === Boolean || type[flagSymbol] === true; - } else { - throw new ArgError( - `type missing or not a function or valid array type: ${key}`, - 'ARG_CONFIG_VAD_TYPE' - ); - } - - if (key[1] !== '-' && key.length > 2) { - throw new ArgError( - `short argument keys (with a single hyphen) must have only one character: ${key}`, - 'ARG_CONFIG_SHORTOPT_TOOLONG' - ); - } - - handlers[key] = [type, isFlag]; - } - - for (let i = 0, len = argv.length; i < len; i++) { - const wholeArg = argv[i]; - - if (stopAtPositional && result._.length > 0) { - result._ = result._.concat(argv.slice(i)); - break; - } - - if (wholeArg === '--') { - result._ = result._.concat(argv.slice(i + 1)); - break; - } - - if (wholeArg.length > 1 && wholeArg[0] === '-') { - /* eslint-disable operator-linebreak */ - const separatedArguments = - wholeArg[1] === '-' || wholeArg.length === 2 - ? [wholeArg] - : wholeArg - .slice(1) - .split('') - .map((a) => `-${a}`); - /* eslint-enable operator-linebreak */ - - for (let j = 0; j < separatedArguments.length; j++) { - const arg = separatedArguments[j]; - const [originalArgName, argStr] = - arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; - - let argName = originalArgName; - while (argName in aliases) { - argName = aliases[argName]; - } - - if (!(argName in handlers)) { - if (permissive) { - result._.push(arg); - continue; - } else { - throw new ArgError( - `unknown or unexpected option: ${originalArgName}`, - 'ARG_UNKNOWN_OPTION' - ); - } - } - - const [type, isFlag] = handlers[argName]; - - if (!isFlag && j + 1 < separatedArguments.length) { - throw new ArgError( - `option requires argument (but was followed by another short argument): ${originalArgName}`, - 'ARG_MISSING_REQUIRED_SHORTARG' - ); - } - - if (isFlag) { - result[argName] = type(true, argName, result[argName]); - } else if (argStr === undefined) { - if ( - argv.length < i + 2 || - (argv[i + 1].length > 1 && - argv[i + 1][0] === '-' && - !( - argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && - (type === Number || - // eslint-disable-next-line no-undef - (typeof BigInt !== 'undefined' && type === BigInt)) - )) - ) { - const extended = - originalArgName === argName ? '' : ` (alias for ${argName})`; - throw new ArgError( - `option requires argument: ${originalArgName}${extended}`, - 'ARG_MISSING_REQUIRED_LONGARG' - ); - } - - result[argName] = type(argv[i + 1], argName, result[argName]); - ++i; - } else { - result[argName] = type(argStr, argName, result[argName]); - } - } - } else { - result._.push(wholeArg); - } - } - - return result; -} - -arg.flag = (fn) => { - fn[flagSymbol] = true; - return fn; -}; - -// Utility types -arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); - -// Expose error class -arg.ArgError = ArgError; - -var arg_1 = arg; - -/** - @license - The MIT License (MIT) - - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - - 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. -*/ -function getOptionValue(opt) { - parseOptions(); - return options[opt]; -} -let options; -function parseOptions() { - if (!options) { - options = { - "--conditions": [], - ...parseArgv(getNodeOptionsEnvArgv()), - ...parseArgv(process.execArgv) - }; - } -} -function parseArgv(argv) { - return arg_1( - { - "--conditions": [String], - "-C": "--conditions" - }, - { - argv, - permissive: true - } - ); -} -function getNodeOptionsEnvArgv() { - const errors = []; - const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); - if (errors.length !== 0) ; - return envArgv; -} -function ParseNodeOptionsEnvVar(node_options, errors) { - const env_argv = []; - let is_in_string = false; - let will_start_new_arg = true; - for (let index = 0; index < node_options.length; ++index) { - let c = node_options[index]; - if (c === "\\" && is_in_string) { - if (index + 1 === node_options.length) { - errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); - return env_argv; - } else { - c = node_options[++index]; - } - } else if (c === " " && !is_in_string) { - will_start_new_arg = true; - continue; - } else if (c === '"') { - is_in_string = !is_in_string; - continue; - } - if (will_start_new_arg) { - env_argv.push(c); - will_start_new_arg = false; - } else { - env_argv[env_argv.length - 1] += c; - } - } - if (is_in_string) { - errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); - } - return env_argv; -} - -function makeApi(runtimeState, opts) { - const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; - const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); - const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; - const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; - const isDirRegExp = /\/$/; - const isRelativeRegexp = /^\.{0,2}\//; - const topLevelLocator = { name: null, reference: null }; - const fallbackLocators = []; - const emittedWarnings = /* @__PURE__ */ new Set(); - if (runtimeState.enableTopLevelFallback === true) - fallbackLocators.push(topLevelLocator); - if (opts.compatibilityMode !== false) { - 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 }); - } - } - } - } - } - const { - ignorePattern, - packageRegistry, - packageLocatorsByLocations - } = runtimeState; - function makeLogEntry(name, args) { - return { - fn: name, - args, - error: null, - result: null - }; - } - function trace(entry) { - const colors = process.stderr?.hasColors?.() ?? process.stdout.isTTY; - const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; - const error = entry.error; - if (error) - console.error(c(`31;1`, `\u2716 ${entry.error?.message.replace(/\n.*/s, ``)}`)); - else - console.error(c(`33;1`, `\u203C Resolution`)); - if (entry.args.length > 0) - console.error(); - for (const arg of entry.args) - console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`); - if (entry.result) { - console.error(); - console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); - } - const stack = new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2) ?? []; - 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; - } - function getPackageInformationSafe(packageLocator) { - const packageInformation = getPackageInformation(packageLocator); - if (!packageInformation) { - throw 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; - } - 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 = /* @__PURE__ */ new Set([ - `node`, - `require`, - ...getOptionValue(`--conditions`) - ]); - function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) { - const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { - resolveIgnored: true, - includeDiscardFromLookup: true - }); - if (locator === null) { - throw 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`)); - if (pkgJson.exports == null) - return null; - let subpath = ppath.contains(packageLocation, unqualifiedPath); - if (subpath === null) { - throw makeError( - ErrorCode.INTERNAL, - `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` - ); - } - if (subpath !== `.` && !isRelativeRegexp.test(subpath)) - subpath = `./${subpath}`; - try { - const resolvedExport = packageExportsResolve({ - packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)), - packageSubpath: subpath, - exports: pkgJson.exports, - base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null, - conditions - }); - return npath.toPortablePath(url.fileURLToPath(resolvedExport)); - } catch (error) { - throw makeError( - ErrorCode.EXPORTS_RESOLUTION_FAILED, - error.message, - { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, - error.code - ); - } - } - function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { - let stat; - try { - candidates.push(unqualifiedPath); - stat = opts.fakeFs.statSync(unqualifiedPath); - } catch (error) { - } - if (stat && !stat.isDirectory()) - return opts.fakeFs.realpathSync(unqualifiedPath); - 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 (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { - const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); - if (resolution !== null) { - return resolution; - } - } - } - 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; - } - } - 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; - } - } - } - return null; - } - function makeFakeModule(path) { - const fakeModule = new require$$0.Module(path, null); - fakeModule.filename = path; - fakeModule.paths = require$$0.Module._nodeModulePaths(path); - return fakeModule; - } - function callNativeResolution(request, issuer) { - if (issuer.endsWith(`/`)) - issuer = ppath.join(issuer, `internal.js`); - return require$$0.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; - } - } - const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; - const topLevel = topLevelLocator; - function getPackageInformation({ name, reference }) { - const packageInformationStore = packageRegistry.get(name); - if (!packageInformationStore) - return null; - const packageInformation = packageInformationStore.get(reference); - if (!packageInformation) - return null; - return packageInformation; - } - 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; - if (dependentName === name && dependentReference === reference) - continue; - dependents.push({ - name: dependentName, - reference: dependentReference - }); - } - } - return dependents; - } - function findBrokenPeerDependencies(dependency, initialPackage) { - const brokenPackages = /* @__PURE__ */ new Map(); - const alreadyVisited = /* @__PURE__ */ 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 = /* @__PURE__ */ 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; - } - 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; - } - function tryReadFile(filePath) { - try { - return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); - } catch (err) { - if (err.code === `ENOENT`) - return void 0; - throw err; - } - } - function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { - if (request.startsWith(`#`)) - throw new Error(`resolveToUnqualified can not handle private import mappings`); - if (request === `pnpapi`) - return npath.toPortablePath(opts.pnpapiResolution); - if (considerBuiltins && require$$0.isBuiltin(request)) - return null; - const requestForDisplay = getPathForDisplay(request); - const issuerForDisplay = issuer && getPathForDisplay(issuer); - if (issuer && isPathIgnored(issuer)) { - if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { - const result = callNativeResolution(request, issuer); - if (result === false) { - throw 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) - -Require request: "${requestForDisplay}" -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - return npath.toPortablePath(result); - } - } - let unqualifiedPath; - const dependencyNameMatch = request.match(pathRegExp); - if (!dependencyNameMatch) { - if (ppath.isAbsolute(request)) { - unqualifiedPath = ppath.normalize(request); - } else { - if (!issuer) { - throw 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 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 { - if (!issuer) { - throw 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 (!issuerLocator) { - const result = callNativeResolution(request, issuer); - if (result === false) { - throw 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). - -Require path: "${requestForDisplay}" -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - return npath.toPortablePath(result); - } - const issuerInformation = getPackageInformationSafe(issuerLocator); - let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); - let fallbackReference = null; - if (dependencyReference == null) { - if (issuerLocator.name !== null) { - 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; - } - } - } - } - } - } - let error = null; - if (dependencyReference === null) { - if (isDependencyTreeRoot(issuerLocator)) { - error = 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. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } - ); - } else { - const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); - if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { - error = 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. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) -${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} -`).join(``)} -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } - ); - } else { - error = 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. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) - -${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} -`).join(``)} -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } - ); - } - } - } else if (dependencyReference === void 0) { - if (!considerBuiltins && require$$0.isBuiltin(request)) { - if (isDependencyTreeRoot(issuerLocator)) { - error = 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. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } - ); - } else { - error = 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. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } - ); - } - } else { - if (isDependencyTreeRoot(issuerLocator)) { - error = 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. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } - ); - } else { - error = 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. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) -`, - { 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); - } - } - const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; - const dependencyInformation = getPackageInformationSafe(dependencyLocator); - if (!dependencyInformation.packageLocation) { - throw 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. - -Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } - ); - } - const dependencyLocation = dependencyInformation.packageLocation; - if (subPath) { - unqualifiedPath = ppath.join(dependencyLocation, subPath); - } else { - unqualifiedPath = dependencyLocation; - } - } - return ppath.normalize(unqualifiedPath); - } - function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) { - if (isStrictRegExp.test(request)) - return unqualifiedPath; - const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer); - if (unqualifiedExportPath) { - return ppath.normalize(unqualifiedExportPath); - } else { - return unqualifiedPath; - } - } - function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) { - const candidates = []; - const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); - if (qualifiedPath) { - return ppath.normalize(qualifiedPath); - } else { - reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate))); - const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); - const containingPackage = findPackageLocator(unqualifiedPath); - if (containingPackage) { - const { packageLocation } = getPackageInformationSafe(containingPackage); - let exists = true; - try { - opts.fakeFs.accessSync(packageLocation); - } catch (err) { - if (err?.code === `ENOENT`) { - exists = false; - } else { - const readableError = (err?.message ?? err ?? `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); - throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). - -Missing package: ${containingPackage.name}@${containingPackage.reference} -Expected package location: ${getPathForDisplay(packageLocation)} -`, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); - } - } - if (!exists) { - 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 makeError( - ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, - `${errorMessage} - -Missing package: ${containingPackage.name}@${containingPackage.reference} -Expected package location: ${getPathForDisplay(packageLocation)} -`, - { unqualifiedPath: unqualifiedPathForDisplay, extensions } - ); - } - } - throw makeError( - ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, - `Qualified path resolution failed: we looked for the following paths, but none could be accessed. - -Source path: ${unqualifiedPathForDisplay} -${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} -`).join(``)}`, - { unqualifiedPath: unqualifiedPathForDisplay, extensions } - ); - } - } - function resolvePrivateRequest(request, issuer, opts2) { - if (!issuer) - throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); - const resolved = packageImportsResolve({ - name: request, - base: url.pathToFileURL(npath.fromPortablePath(issuer)), - conditions: opts2.conditions ?? defaultExportsConditions, - readFileSyncFn: tryReadFile - }); - if (resolved instanceof URL) { - return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); - } else { - if (resolved.startsWith(`#`)) - throw new Error(`Mapping from one private import to another isn't allowed`); - return resolveRequest(resolved, issuer, opts2); - } - } - function resolveRequest(request, issuer, opts2 = {}) { - try { - if (request.startsWith(`#`)) - return resolvePrivateRequest(request, issuer, opts2); - const { considerBuiltins, extensions, conditions } = opts2; - const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); - if (request === `pnpapi`) - return unqualifiedPath; - if (unqualifiedPath === null) - return null; - const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; - const remappedPath = (!considerBuiltins || !require$$0.isBuiltin(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath; - return resolveUnqualified(remappedPath, { extensions }); - } catch (error) { - if (Object.hasOwn(error, `pnpCode`)) - Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); - throw error; - } - } - 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, opts2) => { - const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; - const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); - if (resolution === null) - return null; - return npath.fromPortablePath(resolution); - }), - resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { - return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); - }), - resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { - const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; - const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); - 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; - } - }) - }; -} - -function makeManager(pnpapi, opts) { - const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); - const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); - const apiMetadata = /* @__PURE__ */ new Map([ - [initialApiPath, { - instance: pnpapi, - stats: initialApiStats, - lastRefreshCheck: Date.now() - }] - ]); - function loadApiInstance(pnpApiPath) { - const nativePath = npath.fromPortablePath(pnpApiPath); - const module = new require$$0.Module(nativePath, null); - 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 information 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 = { - instance: loadApiInstance(pnpApiPath), - stats: opts.fakeFs.statSync(pnpApiPath), - lastRefreshCheck: Date.now() - }); - } - return apiEntry; - } - const findApiPathCache = /* @__PURE__ */ new Map(); - function addToCacheAndReturn(start, end, target) { - if (target !== null) { - target = VirtualFS.resolveVirtual(target); - target = opts.fakeFs.realpathSync(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; - 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(` -`); - throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. -This is usually caused by using the global cache (enableGlobalCache: true) - -Controlled by: -${controlSegment} -`); - } - const start = ppath.resolve(npath.toPortablePath(modulePath)); - let curr; - let next = start; - do { - curr = next; - const cached = findApiPathCache.get(curr); - if (cached !== void 0) - 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); - 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); - } - const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); - function getApiPathFromParent(parent) { - if (parent == null) - return initialApiPath; - let apiPath = moduleToApiPathCache.get(parent); - if (typeof apiPath !== `undefined`) - return apiPath; - apiPath = parent.filename ? findApiPathFor(parent.filename) : null; - moduleToApiPathCache.set(parent, apiPath); - return apiPath; - } - return { - getApiPathFromParent, - findApiPathFor, - getApiEntry - }; -} - -const localFs = { ...fs__default.default }; -const nodeFs = new NodeFS(localFs); -const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); -const defaultPnpapiResolution = __filename; -const defaultFsLayer = new VirtualFS({ - baseFs: new ZipOpenFS({ - baseFs: nodeFs, - maxOpenFiles: 80, - readOnlyArchives: true - }) -}); -class DynamicFS extends ProxiedFS { - baseFs = defaultFsLayer; - constructor() { - super(ppath); - } - 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 = void 0, - 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 - }); - dynamicFsLayer.baseFs = new NodeFS(fs__default.default); - } -}); -manager = makeManager(defaultApi, { - fakeFs: dynamicFsLayer -}); -if (module.parent && module.parent.id === `internal/preload`) { - defaultApi.setup(); - if (module.filename) { - delete require$$0__default.default._cache[module.filename]; - } -} -if (process.mainModule === module) { - const reportError = (code, message, data) => { - process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} -`); - }; - const reportSuccess = (resolution) => { - process.stdout.write(`${JSON.stringify([null, resolution])} -`); - }; - 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]} -`); - process.exitCode = 64; - } else { - processResolution(process.argv[2], process.argv[3]); - } - } else { - let buffer = ``; - const decoder = new StringDecoder__default.default.StringDecoder(); - process.stdin.on(`data`, (chunk) => { - buffer += decoder.write(chunk); - do { - const index = buffer.indexOf(` -`); - if (index === -1) - break; - const line = buffer.slice(0, index); - buffer = buffer.slice(index + 1); - processRequest(line); - } while (true); - }); - } -} - -module.exports = defaultApi; diff --git a/benchmark/typescript/anagram/.pnp.loader.mjs b/benchmark/typescript/anagram/.pnp.loader.mjs deleted file mode 100644 index e5a5429..0000000 --- a/benchmark/typescript/anagram/.pnp.loader.mjs +++ /dev/null @@ -1,2126 +0,0 @@ -/* eslint-disable */ -// @ts-nocheck - -import fs from 'fs'; -import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; -import path from 'path'; -import { createHash } from 'crypto'; -import { EOL } from 'os'; -import esmModule, { createRequire, isBuiltin } from 'module'; -import assert from 'assert'; - -const SAFE_TIME = 456789e3; - -const PortablePath = { - root: `/`, - dot: `.`, - parent: `..` -}; -const npath = Object.create(path); -const ppath = Object.create(path.posix); -npath.cwd = () => process.cwd(); -ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; -if (process.platform === `win32`) { - ppath.resolve = (...segments) => { - if (segments.length > 0 && ppath.isAbsolute(segments[0])) { - return path.posix.resolve(...segments); - } else { - return path.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.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\/)?(.*)$/; -function fromPortablePathWin32(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, `\\`); -} -function toPortablePathWin32(p) { - p = p.replace(/\\/g, `/`); - 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; -} -const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; -const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; -npath.fromPortablePath = fromPortablePath; -npath.toPortablePath = toPortablePath; -function convertPath(targetPathUtils, sourcePath) { - return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); -} - -const defaultTime = new Date(SAFE_TIME * 1e3); -const defaultTimeMs = defaultTime.getTime(); -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 { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); - await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); - await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); - for (const operation of prelayout) - await operation(); - await Promise.all(postlayout.map((operation) => { - return operation(); - })); -} -async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { - const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; - const sourceStat = await sourceFs.lstatPromise(source); - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; - let updated; - switch (true) { - case sourceStat.isDirectory(): - { - updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isFile(): - { - updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isSymbolicLink(): - { - updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - default: { - throw new Error(`Unsupported file type (${sourceStat.mode})`); - } - } - if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { - if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { - postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); - updated = true; - } - if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { - postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); - updated = true; - } - } - return updated; -} -async function maybeLStat(baseFs, p) { - try { - return await baseFs.lstatPromise(p); - } catch (e) { - return null; - } -} -async function copyFolder(prelayout, postlayout, 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); - const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; - if (opts.stableSort) { - for (const entry of entries.sort()) { - if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { - updated = true; - } - } - } else { - const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { - await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); - })); - if (entriesUpdateStatus.some((status) => status)) { - updated = true; - } - } - return updated; -} -async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { - const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); - const defaultMode = 420; - const sourceMode = sourceStat.mode & 511; - const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; - const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); - let AtomicBehavior; - ((AtomicBehavior2) => { - AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; - AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; - })(AtomicBehavior || (AtomicBehavior = {})); - let atomicBehavior = 1 /* Rename */; - let indexStat = await maybeLStat(destinationFs, indexPath); - if (destinationStat) { - const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; - const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; - if (isDestinationHardlinkedFromIndex) { - if (isIndexModified && linkStrategy.autoRepair) { - atomicBehavior = 0 /* Lock */; - indexStat = null; - } - } - if (!isDestinationHardlinkedFromIndex) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - } - const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; - let tempPathCleaned = false; - prelayout.push(async () => { - if (!indexStat) { - if (atomicBehavior === 0 /* Lock */) { - await destinationFs.lockPromise(indexPath, async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(indexPath, content); - }); - } - if (atomicBehavior === 1 /* Rename */ && tempPath) { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(tempPath, content); - try { - await destinationFs.linkPromise(tempPath, indexPath); - } catch (err) { - if (err.code === `EEXIST`) { - tempPathCleaned = true; - await destinationFs.unlinkPromise(tempPath); - } else { - throw err; - } - } - } - } - if (!destinationStat) { - await destinationFs.linkPromise(indexPath, destination); - } - }); - postlayout.push(async () => { - if (!indexStat) { - await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); - if (sourceMode !== defaultMode) { - await destinationFs.chmodPromise(indexPath, sourceMode); - } - } - if (tempPath && !tempPathCleaned) { - await destinationFs.unlinkPromise(tempPath); - } - }); - return false; -} -async function copyFileDirect(prelayout, postlayout, 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 () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(destination, content); - }); - return true; -} -async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (opts.linkStrategy?.type === `HardlinkFromIndex`) { - return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); - } else { - return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } -} -async function copySymlink(prelayout, postlayout, 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; -} - -class FakeFS { - pathUtils; - 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 entry2 of entries.sort()) { - stack.push(this.pathUtils.join(p, entry2)); - } - } else { - throw new Error(`Not supported`); - } - } else { - yield p; - } - } - } - async checksumFilePromise(path, { algorithm = `sha512` } = {}) { - const fd = await this.openPromise(path, `r`); - try { - const CHUNK_SIZE = 65536; - const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); - const hash = createHash(algorithm); - let bytesRead = 0; - while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) - hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); - return hash.digest(`hex`); - } finally { - await this.closePromise(fd); - } - } - 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)); - })); - } - for (let t = 0; t <= maxRetries; t++) { - try { - await this.rmdirPromise(p); - break; - } catch (error) { - if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { - throw error; - } else if (t < maxRetries) { - await new Promise((resolve) => setTimeout(resolve, t * 100)); - } - } - } - } 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 void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - 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; - } - } - createdDirectory ??= subPath; - 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); - } - } - } - return createdDirectory; - } - mkdirpSync(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - 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; - } - } - createdDirectory ??= subPath; - 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); - } - } - } - return createdDirectory; - } - 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 & 511; - 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) { - } - 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) { - } - 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) { - } - 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) { - } - 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 = 1e3 / 60; - const startTime = Date.now(); - let fd = null; - const isAlive = async () => { - let pid; - try { - [pid] = await this.readJsonPromise(lockPath); - } catch (error) { - return Date.now() - startTime < 500; - } - try { - 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 (error2) { - } - } - if (Date.now() - startTime < 60 * 1e3) { - 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 { - await this.closePromise(fd); - await this.unlinkPromise(lockPath); - } catch (error) { - } - } - } - 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, { compact = false } = {}) { - const space = compact ? 0 : 2; - return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} -`); - } - writeJsonSync(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return this.writeFileSync(p, `${JSON.stringify(data, null, space)} -`); - } - async preserveTimePromise(p, cb) { - const stat = await this.lstatPromise(p); - const result = await cb(); - if (typeof result !== `undefined`) - p = result; - await this.lutimesPromise(p, stat.atime, stat.mtime); - } - async preserveTimeSync(p, cb) { - const stat = this.lstatSync(p); - const result = cb(); - if (typeof result !== `undefined`) - p = result; - this.lutimesSync(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 EOL; - const crlf = matches.filter((nl) => nl === `\r -`).length; - const lf = matches.length - crlf; - return crlf > lf ? `\r -` : ` -`; -} -function normalizeLineEndings(originalContent, newContent) { - return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); -} - -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); - } - lstatPromise(p, opts) { - return this.baseFs.lstatPromise(this.mapToBase(p), opts); - } - lstatSync(p, opts) { - return this.baseFs.lstatSync(this.mapToBase(p), opts); - } - async fchmodPromise(fd, mask) { - return this.baseFs.fchmodPromise(fd, mask); - } - fchmodSync(fd, mask) { - return this.baseFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return this.baseFs.chmodPromise(this.mapToBase(p), mask); - } - chmodSync(p, mask) { - return this.baseFs.chmodSync(this.mapToBase(p), mask); - } - async fchownPromise(fd, uid, gid) { - return this.baseFs.fchownPromise(fd, uid, gid); - } - fchownSync(fd, uid, gid) { - return this.baseFs.fchownSync(fd, uid, gid); - } - 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 lutimesPromise(p, atime, mtime) { - return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); - } - lutimesSync(p, atime, mtime) { - return this.baseFs.lutimesSync(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 rmPromise(p, opts) { - return this.baseFs.rmPromise(this.mapToBase(p), opts); - } - rmSync(p, opts) { - return this.baseFs.rmSync(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) { - return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); - } - readFileSync(p, encoding) { - return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); - } - 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); - } - async ftruncatePromise(fd, len) { - return this.baseFs.ftruncatePromise(fd, len); - } - ftruncateSync(fd, len) { - return this.baseFs.ftruncateSync(fd, 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); - } - } -} - -function direntToPortable(dirent) { - const portableDirent = dirent; - if (typeof dirent.path === `string`) - portableDirent.path = npath.toPortablePath(dirent.path); - return portableDirent; -} -class NodeFS extends BasePortableFakeFS { - realFs; - constructor(realFs = fs) { - super(); - this.realFs = realFs; - } - 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) => { - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - }); - } - opendirSync(p, opts) { - const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - } - 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) { - this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.fstat(fd, this.makeCallback(resolve, reject)); - } - }); - } - fstatSync(fd, opts) { - if (opts) { - return this.realFs.fstatSync(fd, opts); - } else { - return this.realFs.fstatSync(fd); - } - } - async lstatPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - 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) { - return this.realFs.lstatSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.lstatSync(npath.fromPortablePath(p)); - } - } - async fchmodPromise(fd, mask) { - return await new Promise((resolve, reject) => { - this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); - }); - } - fchmodSync(fd, mask) { - return this.realFs.fchmodSync(fd, mask); - } - 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 fchownPromise(fd, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); - }); - } - fchownSync(fd, uid, gid) { - return this.realFs.fchownSync(fd, uid, gid); - } - 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 lutimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - lutimesSync(p, atime, mtime) { - this.realFs.lutimesSync(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) => { - 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 rmPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.rm(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.rm(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - rmSync(p, opts) { - return this.realFs.rmSync(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) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - readdirSync(p, opts) { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts); - } - } 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); - } - async ftruncatePromise(fd, len) { - return await new Promise((resolve, reject) => { - this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); - }); - } - ftruncateSync(fd, len) { - return this.realFs.ftruncateSync(fd, 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); - } - }; - } -} - -const NUMBER_REGEXP = /^[0-9]+$/; -const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; -const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; -class VirtualFS extends ProxiedFS { - 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`); - const target = ppath.relative(ppath.dirname(base), to); - const segments = target.split(`/`); - 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)); - } - constructor({ baseFs = new NodeFS() } = {}) { - super(ppath); - this.baseFs = baseFs; - } - 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; - } -} - -const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? URL$1 : globalThis.URL; - -const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); -const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; -const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3; -const SUPPORTS_IMPORT_ATTRIBUTES = major >= 21 || major === 20 && minor >= 10 || major === 18 && minor >= 20; -const SUPPORTS_IMPORT_ATTRIBUTES_ONLY = major >= 22; - -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; -} -function readPackage(requestPath) { - const jsonPath = npath.resolve(requestPath, `package.json`); - if (!fs.existsSync(jsonPath)) - return null; - return JSON.parse(fs.readFileSync(jsonPath, `utf8`)); -} - -async function tryReadFile$1(path2) { - try { - return await fs.promises.readFile(path2, `utf8`); - } catch (error) { - if (error.code === `ENOENT`) - return null; - throw error; - } -} -function tryParseURL(str, base) { - try { - return new URL(str, base); - } catch { - return null; - } -} -let entrypointPath = null; -function setEntrypointPath(file) { - entrypointPath = file; -} -function getFileFormat(filepath) { - const ext = path.extname(filepath); - switch (ext) { - case `.mjs`: { - return `module`; - } - case `.cjs`: { - return `commonjs`; - } - case `.wasm`: { - throw new Error( - `Unknown file extension ".wasm" for ${filepath}` - ); - } - case `.json`: { - return `json`; - } - case `.js`: { - const pkg = readPackageScope(filepath); - if (!pkg) - return `commonjs`; - return pkg.data.type ?? `commonjs`; - } - default: { - if (entrypointPath !== filepath) - return null; - const pkg = readPackageScope(filepath); - if (!pkg) - return `commonjs`; - if (pkg.data.type === `module`) - return null; - return pkg.data.type ?? `commonjs`; - } - } -} - -async function load$1(urlString, context, nextLoad) { - const url = tryParseURL(urlString); - if (url?.protocol !== `file:`) - return nextLoad(urlString, context, nextLoad); - const filePath = fileURLToPath(url); - const format = getFileFormat(filePath); - if (!format) - return nextLoad(urlString, context, nextLoad); - if (format === `json`) { - if (SUPPORTS_IMPORT_ATTRIBUTES_ONLY) { - if (context.importAttributes?.type !== `json`) { - const err = new TypeError(`[ERR_IMPORT_ATTRIBUTE_MISSING]: Module "${urlString}" needs an import attribute of "type: json"`); - err.code = `ERR_IMPORT_ATTRIBUTE_MISSING`; - throw err; - } - } else { - const type = `importAttributes` in context ? context.importAttributes?.type : context.importAssertions?.type; - if (type !== `json`) { - const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import ${SUPPORTS_IMPORT_ATTRIBUTES ? `attribute` : `assertion`} of type "json"`); - err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`; - throw err; - } - } - } - if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { - const pathToSend = pathToFileURL( - npath.fromPortablePath( - VirtualFS.resolveVirtual(npath.toPortablePath(filePath)) - ) - ).href; - process.send({ - "watch:import": WATCH_MODE_MESSAGE_USES_ARRAYS ? [pathToSend] : pathToSend - }); - } - return { - format, - source: format === `commonjs` ? void 0 : await fs.promises.readFile(filePath, `utf8`), - shortCircuit: true - }; -} - -const ArrayIsArray = Array.isArray; -const JSONStringify = JSON.stringify; -const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; -const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); -const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); -const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); -const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); -const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); -const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); -const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); -const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); -const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); -const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); -const SafeMap = Map; -const JSONParse = JSON.parse; - -function createErrorType(code, messageCreator, errorType) { - return class extends errorType { - constructor(...args) { - super(messageCreator(...args)); - this.code = code; - this.name = `${errorType.name} [${code}]`; - } - }; -} -const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( - `ERR_PACKAGE_IMPORT_NOT_DEFINED`, - (specifier, packagePath, base) => { - return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; - }, - TypeError -); -const ERR_INVALID_MODULE_SPECIFIER = createErrorType( - `ERR_INVALID_MODULE_SPECIFIER`, - (request, reason, base = void 0) => { - return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; - }, - TypeError -); -const ERR_INVALID_PACKAGE_TARGET = createErrorType( - `ERR_INVALID_PACKAGE_TARGET`, - (pkgPath, key, target, isImport = false, base = void 0) => { - const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); - if (key === `.`) { - assert(isImport === false); - return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - } - return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( - target - )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - }, - Error -); -const ERR_INVALID_PACKAGE_CONFIG = createErrorType( - `ERR_INVALID_PACKAGE_CONFIG`, - (path, base, message) => { - return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; - }, - Error -); - -function filterOwnProperties(source, keys) { - const filtered = /* @__PURE__ */ Object.create(null); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (ObjectPrototypeHasOwnProperty(source, key)) { - filtered[key] = source[key]; - } - } - return filtered; -} - -const packageJSONCache = new SafeMap(); -function getPackageConfig(path, specifier, base, readFileSyncFn) { - const existing = packageJSONCache.get(path); - if (existing !== void 0) { - return existing; - } - const source = readFileSyncFn(path); - if (source === void 0) { - const packageConfig2 = { - pjsonPath: path, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(path, packageConfig2); - return packageConfig2; - } - let packageJSON; - try { - packageJSON = JSONParse(source); - } catch (error) { - throw new ERR_INVALID_PACKAGE_CONFIG( - path, - (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), - error.message - ); - } - let { imports, main, name, type } = filterOwnProperties(packageJSON, [ - "imports", - "main", - "name", - "type" - ]); - const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; - if (typeof imports !== "object" || imports === null) { - imports = void 0; - } - if (typeof main !== "string") { - main = void 0; - } - if (typeof name !== "string") { - name = void 0; - } - if (type !== "module" && type !== "commonjs") { - type = "none"; - } - const packageConfig = { - pjsonPath: path, - exists: true, - main, - name, - type, - exports, - imports - }; - packageJSONCache.set(path, packageConfig); - return packageConfig; -} -function getPackageScopeConfig(resolved, readFileSyncFn) { - let packageJSONUrl = new URL("./package.json", resolved); - while (true) { - const packageJSONPath2 = packageJSONUrl.pathname; - if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { - break; - } - const packageConfig2 = getPackageConfig( - fileURLToPath(packageJSONUrl), - resolved, - void 0, - readFileSyncFn - ); - if (packageConfig2.exists) { - return packageConfig2; - } - const lastPackageJSONUrl = packageJSONUrl; - packageJSONUrl = new URL("../package.json", packageJSONUrl); - if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { - break; - } - } - const packageJSONPath = fileURLToPath(packageJSONUrl); - const packageConfig = { - pjsonPath: packageJSONPath, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(packageJSONPath, packageConfig); - return packageConfig; -} - -function throwImportNotDefined(specifier, packageJSONUrl, base) { - throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( - specifier, - packageJSONUrl && fileURLToPath(new URL(".", packageJSONUrl)), - fileURLToPath(base) - ); -} -function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { - const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath(packageJSONUrl)}`; - throw new ERR_INVALID_MODULE_SPECIFIER( - subpath, - reason, - base && fileURLToPath(base) - ); -} -function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { - if (typeof target === "object" && target !== null) { - target = JSONStringify(target, null, ""); - } else { - target = `${target}`; - } - throw new ERR_INVALID_PACKAGE_TARGET( - fileURLToPath(new URL(".", packageJSONUrl)), - subpath, - target, - internal, - base && fileURLToPath(base) - ); -} -const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; -const patternRegEx = /\*/g; -function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { - if (subpath !== "" && !pattern && target[target.length - 1] !== "/") - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (!StringPrototypeStartsWith(target, "./")) { - if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { - let isURL = false; - try { - new URL(target); - isURL = true; - } catch { - } - if (!isURL) { - const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; - return exportTarget; - } - } - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - } - if (RegExpPrototypeExec( - invalidSegmentRegEx, - StringPrototypeSlice(target, 2) - ) !== null) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - const resolved = new URL(target, packageJSONUrl); - const resolvedPath = resolved.pathname; - const packagePath = new URL(".", packageJSONUrl).pathname; - if (!StringPrototypeStartsWith(resolvedPath, packagePath)) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (subpath === "") return resolved; - if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { - const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; - throwInvalidSubpath(request, packageJSONUrl, internal, base); - } - if (pattern) { - return new URL( - RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) - ); - } - return new URL(subpath, resolved); -} -function isArrayIndex(key) { - const keyNum = +key; - if (`${keyNum}` !== key) return false; - return keyNum >= 0 && keyNum < 4294967295; -} -function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { - if (typeof target === "string") { - return resolvePackageTargetString( - target, - subpath, - packageSubpath, - packageJSONUrl, - base, - pattern, - internal); - } else if (ArrayIsArray(target)) { - if (target.length === 0) { - return null; - } - let lastException; - for (let i = 0; i < target.length; i++) { - const targetItem = target[i]; - let resolveResult; - try { - resolveResult = resolvePackageTarget( - packageJSONUrl, - targetItem, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - } catch (e) { - lastException = e; - if (e.code === "ERR_INVALID_PACKAGE_TARGET") { - continue; - } - throw e; - } - if (resolveResult === void 0) { - continue; - } - if (resolveResult === null) { - lastException = null; - continue; - } - return resolveResult; - } - if (lastException === void 0 || lastException === null) - return lastException; - throw lastException; - } else if (typeof target === "object" && target !== null) { - const keys = ObjectGetOwnPropertyNames(target); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (isArrayIndex(key)) { - throw new ERR_INVALID_PACKAGE_CONFIG( - fileURLToPath(packageJSONUrl), - base, - '"exports" cannot contain numeric property keys.' - ); - } - } - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key === "default" || conditions.has(key)) { - const conditionalTarget = target[key]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - conditionalTarget, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - if (resolveResult === void 0) continue; - return resolveResult; - } - } - return void 0; - } else if (target === null) { - return null; - } - throwInvalidPackageTarget( - packageSubpath, - target, - packageJSONUrl, - internal, - base - ); -} -function patternKeyCompare(a, b) { - const aPatternIndex = StringPrototypeIndexOf(a, "*"); - const bPatternIndex = StringPrototypeIndexOf(b, "*"); - const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; - const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; - if (baseLenA > baseLenB) return -1; - if (baseLenB > baseLenA) return 1; - if (aPatternIndex === -1) return 1; - if (bPatternIndex === -1) return -1; - if (a.length > b.length) return -1; - if (b.length > a.length) return 1; - return 0; -} -function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { - if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { - const reason = "is not a valid internal imports specifier name"; - throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base)); - } - let packageJSONUrl; - const packageConfig = getPackageScopeConfig(base, readFileSyncFn); - if (packageConfig.exists) { - packageJSONUrl = pathToFileURL(packageConfig.pjsonPath); - const imports = packageConfig.imports; - if (imports) { - if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { - const resolveResult = resolvePackageTarget( - packageJSONUrl, - imports[name], - "", - name, - base, - false, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } else { - let bestMatch = ""; - let bestMatchSubpath; - const keys = ObjectGetOwnPropertyNames(imports); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = StringPrototypeIndexOf(key, "*"); - if (patternIndex !== -1 && StringPrototypeStartsWith( - name, - StringPrototypeSlice(key, 0, patternIndex) - )) { - const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); - if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = StringPrototypeSlice( - name, - patternIndex, - name.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = imports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } - } - } - } - throwImportNotDefined(name, packageJSONUrl, base); -} - -let findPnpApi = esmModule.findPnpApi; -if (!findPnpApi) { - const require = createRequire(import.meta.url); - const pnpApi = require(`./.pnp.cjs`); - pnpApi.setup(); - findPnpApi = esmModule.findPnpApi; -} -const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; -const isRelativeRegexp = /^\.{0,2}\//; -function tryReadFile(filePath) { - try { - return fs.readFileSync(filePath, `utf8`); - } catch (err) { - if (err.code === `ENOENT`) - return void 0; - throw err; - } -} -async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { - const resolved = packageImportsResolve({ - name: specifier, - base: pathToFileURL(issuer), - conditions: new Set(context.conditions), - readFileSyncFn: tryReadFile - }); - if (resolved instanceof URL) { - return { url: resolved.href, shortCircuit: true }; - } else { - if (resolved.startsWith(`#`)) - throw new Error(`Mapping from one private import to another isn't allowed`); - return resolve$1(resolved, context, nextResolve); - } -} -async function resolve$1(originalSpecifier, context, nextResolve) { - if (!findPnpApi || isBuiltin(originalSpecifier)) - return nextResolve(originalSpecifier, context, nextResolve); - let specifier = originalSpecifier; - const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0); - if (url) { - if (url.protocol !== `file:`) - return nextResolve(originalSpecifier, context, nextResolve); - specifier = fileURLToPath(url); - } - const { parentURL, conditions = [] } = context; - const issuer = parentURL && tryParseURL(parentURL)?.protocol === `file:` ? fileURLToPath(parentURL) : process.cwd(); - const pnpapi = findPnpApi(issuer) ?? (url ? findPnpApi(specifier) : null); - if (!pnpapi) - return nextResolve(originalSpecifier, context, nextResolve); - if (specifier.startsWith(`#`)) - return resolvePrivateRequest(specifier, issuer, context, nextResolve); - const dependencyNameMatch = specifier.match(pathRegExp); - let allowLegacyResolve = false; - if (dependencyNameMatch) { - const [, dependencyName, subPath] = dependencyNameMatch; - if (subPath === `` && dependencyName !== `pnpapi`) { - const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); - if (resolved) { - const content = await tryReadFile$1(resolved); - if (content) { - const pkg = JSON.parse(content); - allowLegacyResolve = pkg.exports == null; - } - } - } - } - let result; - try { - result = pnpapi.resolveRequest(specifier, issuer, { - conditions: new Set(conditions), - // TODO: Handle --experimental-specifier-resolution=node - extensions: allowLegacyResolve ? void 0 : [] - }); - } catch (err) { - if (err instanceof Error && `code` in err && err.code === `MODULE_NOT_FOUND`) - err.code = `ERR_MODULE_NOT_FOUND`; - throw err; - } - if (!result) - throw new Error(`Resolving '${specifier}' from '${issuer}' failed`); - const resultURL = pathToFileURL(result); - if (url) { - resultURL.search = url.search; - resultURL.hash = url.hash; - } - if (!parentURL) - setEntrypointPath(fileURLToPath(resultURL)); - return { - url: resultURL.href, - shortCircuit: true - }; -} - -if (!HAS_LAZY_LOADED_TRANSLATORS) { - const binding = process.binding(`fs`); - const originalReadFile = binding.readFileUtf8 || binding.readFileSync; - if (originalReadFile) { - binding[originalReadFile.name] = function(...args) { - try { - return fs.readFileSync(args[0], { - encoding: `utf8`, - // @ts-expect-error - The docs says it needs to be a string but - // links to https://nodejs.org/dist/latest-v20.x/docs/api/fs.html#file-system-flags - // which says it can be a number which matches the implementation. - flag: args[1] - }); - } catch { - } - return originalReadFile.apply(this, args); - }; - } else { - const binding2 = process.binding(`fs`); - const originalfstat = binding2.fstat; - const ZIP_MASK = 4278190080; - const ZIP_MAGIC = 704643072; - binding2.fstat = function(...args) { - const [fd, useBigint, req] = args; - if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) { - try { - const stats = fs.fstatSync(fd); - return new Float64Array([ - stats.dev, - stats.mode, - stats.nlink, - stats.uid, - stats.gid, - stats.rdev, - stats.blksize, - stats.ino, - stats.size, - stats.blocks - // atime sec - // atime ns - // mtime sec - // mtime ns - // ctime sec - // ctime ns - // birthtime sec - // birthtime ns - ]); - } catch { - } - } - return originalfstat.apply(this, args); - }; - } -} - -const resolve = resolve$1; -const load = load$1; - -export { load, resolve }; diff --git a/benchmark/typescript/anagram/.yarn/install-state.gz b/benchmark/typescript/anagram/.yarn/install-state.gz deleted file mode 100644 index 62978286fa027f724fe5e59d86d0e32e57435c37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693556 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 z 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%0AyMzRp*74Y?AZII}GC>J+ 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�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�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 z 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 From 75bf34105761afdd7f13d782a0542a5349690f92 Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 16:43:01 -0800 Subject: [PATCH 32/67] Try ubuntu-latest --- .github/workflows/code-qa.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index 8f69a46..c90e45f 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -46,7 +46,7 @@ jobs: integration-test: strategy: matrix: - os: [macos-latest] # ubuntu-latest, windows-latest + os: [macos-latest, ubuntu-latest] # ubuntu-latest, windows-latest runs-on: ${{ matrix.os }} steps: - name: Checkout code From 2e094b409dd14973c1b3112bd824b221b3e1991a Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 16:47:43 -0800 Subject: [PATCH 33/67] Switch to Ubuntu; we can enable the full matrix in the future if we care --- .github/workflows/code-qa.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index c90e45f..f17a648 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -46,7 +46,7 @@ jobs: integration-test: strategy: matrix: - os: [macos-latest, ubuntu-latest] # ubuntu-latest, windows-latest + os: [ubuntu-latest] # macos-latest, windows-latest runs-on: ${{ matrix.os }} steps: - name: Checkout code From f906755d90796b337b15f40e54f5f8abe2ce1b7d Mon Sep 17 00:00:00 2001 From: sam hoang Date: Sat, 1 Feb 2025 09:34:53 +0700 Subject: [PATCH 34/67] feat: add setting to enable/disable MCP server creation - Add enableMcpServerCreation setting to control whether MCP server creation is allowed - Add UI toggle in settings view for this feature - Update system prompt to conditionally include MCP server creation documentation - Add tests for new functionality --- src/core/Cline.ts | 11 +- .../__snapshots__/system.test.ts.snap | 1118 +++++++++++++++++ src/core/prompts/__tests__/system.test.ts | 67 + src/core/prompts/sections/mcp-servers.ts | 31 +- src/core/prompts/system.ts | 5 +- src/core/webview/ClineProvider.ts | 12 + .../webview/__tests__/ClineProvider.test.ts | 8 + src/shared/ExtensionMessage.ts | 1 + src/shared/WebviewMessage.ts | 1 + .../chat/__tests__/AutoApproveMenu.test.tsx | 2 + .../src/components/settings/SettingsView.tsx | 14 + .../src/context/ExtensionStateContext.tsx | 5 + 12 files changed, 1263 insertions(+), 12 deletions(-) diff --git a/src/core/Cline.ts b/src/core/Cline.ts index 478811c..39013f0 100644 --- a/src/core/Cline.ts +++ b/src/core/Cline.ts @@ -842,8 +842,14 @@ export class Cline { }) } - const { browserViewportSize, mode, customModePrompts, preferredLanguage, experiments } = - (await this.providerRef.deref()?.getState()) ?? {} + const { + browserViewportSize, + mode, + customModePrompts, + preferredLanguage, + experiments, + enableMcpServerCreation, + } = (await this.providerRef.deref()?.getState()) ?? {} const { customModes } = (await this.providerRef.deref()?.getState()) ?? {} const systemPrompt = await (async () => { const provider = this.providerRef.deref() @@ -864,6 +870,7 @@ export class Cline { preferredLanguage, this.diffEnabled, experiments, + enableMcpServerCreation, ) })() diff --git a/src/core/prompts/__tests__/__snapshots__/system.test.ts.snap b/src/core/prompts/__tests__/__snapshots__/system.test.ts.snap index 24242ca..21c1135 100644 --- a/src/core/prompts/__tests__/__snapshots__/system.test.ts.snap +++ b/src/core/prompts/__tests__/__snapshots__/system.test.ts.snap @@ -3199,6 +3199,388 @@ Mock mode-specific rules Mock generic rules" `; +exports[`addCustomInstructions should exclude MCP server creation info when disabled 1`] = ` +"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices. + +==== + +TOOL USE + +You have access to a set of tools that are executed upon the user's approval. You can use one tool per message, and will receive the result of that tool use in the user's response. You use tools step-by-step to accomplish a given task, with each tool use informed by the result of the previous tool use. + +# Tool Use Formatting + +Tool use is formatted using XML-style tags. The tool name is enclosed in opening and closing tags, and each parameter is similarly enclosed within its own set of tags. Here's the structure: + + +value1 +value2 +... + + +For example: + + +src/main.js + + +Always adhere to this format for the tool use to ensure proper parsing and execution. + +# Tools + +## read_file +Description: Request to read the contents of a file at the specified path. Use this when you need to examine the contents of an existing file you do not know the contents of, for example to analyze code, review text files, or extract information from configuration files. The output includes line numbers prefixed to each line (e.g. "1 | const x = 1"), making it easier to reference specific lines when creating diffs or discussing code. Automatically extracts raw text from PDF and DOCX files. May not be suitable for other types of binary files, as it returns the raw content as a string. +Parameters: +- path: (required) The path of the file to read (relative to the current working directory /test/path) +Usage: + +File path here + + +Example: Requesting to read frontend-config.json + +frontend-config.json + + +## search_files +Description: Request to perform a regex search across files in a specified directory, providing context-rich results. This tool searches for patterns or specific content across multiple files, displaying each match with encapsulating context. +Parameters: +- path: (required) The path of the directory to search in (relative to the current working directory /test/path). This directory will be recursively searched. +- regex: (required) The regular expression pattern to search for. Uses Rust regex syntax. +- file_pattern: (optional) Glob pattern to filter files (e.g., '*.ts' for TypeScript files). If not provided, it will search all files (*). +Usage: + +Directory path here +Your regex pattern here +file pattern here (optional) + + +Example: Requesting to search for all .ts files in the current directory + +. +.* +*.ts + + +## list_files +Description: Request to list files and directories within the specified directory. If recursive is true, it will list all files and directories recursively. If recursive is false or not provided, it will only list the top-level contents. Do not use this tool to confirm the existence of files you may have created, as the user will let you know if the files were created successfully or not. +Parameters: +- path: (required) The path of the directory to list contents for (relative to the current working directory /test/path) +- recursive: (optional) Whether to list files recursively. Use true for recursive listing, false or omit for top-level only. +Usage: + +Directory path here +true or false (optional) + + +Example: Requesting to list all files in the current directory + +. +false + + +## list_code_definition_names +Description: Request to list definition names (classes, functions, methods, etc.) used in source code files at the top level of the specified directory. This tool provides insights into the codebase structure and important constructs, encapsulating high-level concepts and relationships that are crucial for understanding the overall architecture. +Parameters: +- path: (required) The path of the directory (relative to the current working directory /test/path) to list top level source code definitions for. +Usage: + +Directory path here + + +Example: Requesting to list all top level source code definitions in the current directory + +. + + +## write_to_file +Description: Request to write full content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. +Parameters: +- path: (required) The path of the file to write to (relative to the current working directory /test/path) +- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified. Do NOT include the line numbers in the content though, just the actual content of the file. +- line_count: (required) The number of lines in the file. Make sure to compute this based on the actual content of the file, not the number of lines in the content you're providing. +Usage: + +File path here + +Your file content here + +total number of lines in the file, including empty lines + + +Example: Requesting to write to frontend-config.json + +frontend-config.json + +{ + "apiEndpoint": "https://api.example.com", + "theme": { + "primaryColor": "#007bff", + "secondaryColor": "#6c757d", + "fontFamily": "Arial, sans-serif" + }, + "features": { + "darkMode": true, + "notifications": true, + "analytics": false + }, + "version": "1.0.0" +} + +14 + + +## execute_command +Description: Request to execute a CLI command on the system. Use this when you need to perform system operations or run specific commands to accomplish any step in the user's task. You must tailor your command to the user's system and provide a clear explanation of what the command does. Prefer to execute complex CLI commands over creating executable scripts, as they are more flexible and easier to run. Commands will be executed in the current working directory: /test/path +Parameters: +- command: (required) The CLI command to execute. This should be valid for the current operating system. Ensure the command is properly formatted and does not contain any harmful instructions. +Usage: + +Your command here + + +Example: Requesting to execute npm run dev + +npm run dev + + +## use_mcp_tool +Description: Request to use a tool provided by a connected MCP server. Each MCP server can provide multiple tools with different capabilities. Tools have defined input schemas that specify required and optional parameters. +Parameters: +- server_name: (required) The name of the MCP server providing the tool +- tool_name: (required) The name of the tool to execute +- arguments: (required) A JSON object containing the tool's input parameters, following the tool's input schema +Usage: + +server name here +tool name here + +{ + "param1": "value1", + "param2": "value2" +} + + + +Example: Requesting to use an MCP tool + + +weather-server +get_forecast + +{ + "city": "San Francisco", + "days": 5 +} + + + +## access_mcp_resource +Description: Request to access a resource provided by a connected MCP server. Resources represent data sources that can be used as context, such as files, API responses, or system information. +Parameters: +- server_name: (required) The name of the MCP server providing the resource +- uri: (required) The URI identifying the specific resource to access +Usage: + +server name here +resource URI here + + +Example: Requesting to access an MCP resource + + +weather-server +weather://san-francisco/current + + +## ask_followup_question +Description: Ask the user a question to gather additional information needed to complete the task. This tool should be used when you encounter ambiguities, need clarification, or require more details to proceed effectively. It allows for interactive problem-solving by enabling direct communication with the user. Use this tool judiciously to maintain a balance between gathering necessary information and avoiding excessive back-and-forth. +Parameters: +- question: (required) The question to ask the user. This should be a clear, specific question that addresses the information you need. +Usage: + +Your question here + + +Example: Requesting to ask the user for the path to the frontend-config.json file + +What is the path to the frontend-config.json file? + + +## attempt_completion +Description: After each tool use, the user will respond with the result of that tool use, i.e. if it succeeded or failed, along with any reasons for failure. Once you've received the results of tool uses and can confirm that the task is complete, use this tool to present the result of your work to the user. Optionally you may provide a CLI command to showcase the result of your work. The user may respond with feedback if they are not satisfied with the result, which you can use to make improvements and try again. +IMPORTANT NOTE: This tool CANNOT be used until you've confirmed from the user that any previous tool uses were successful. Failure to do so will result in code corruption and system failure. Before using this tool, you must ask yourself in tags if you've confirmed from the user that any previous tool uses were successful. If not, then DO NOT use this tool. +Parameters: +- result: (required) The result of the task. Formulate this result in a way that is final and does not require further input from the user. Don't end your result with questions or offers for further assistance. +- command: (optional) A CLI command to execute to show a live demo of the result to the user. For example, use \`open index.html\` to display a created html website, or \`open localhost:3000\` to display a locally running development server. But DO NOT use commands like \`echo\` or \`cat\` that merely print text. This command should be valid for the current operating system. Ensure the command is properly formatted and does not contain any harmful instructions. +Usage: + + +Your final result description here + +Command to demonstrate result (optional) + + +Example: Requesting to attempt completion with a result and command + + +I've updated the CSS + +open index.html + + +## switch_mode +Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch. +Parameters: +- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect") +- reason: (optional) The reason for switching modes +Usage: + +Mode slug here +Reason for switching here + + +Example: Requesting to switch to code mode + +code +Need to make code changes + + +## new_task +Description: Create a new task with a specified starting mode and initial message. This tool instructs the system to create a new Cline instance in the given mode with the provided message. + +Parameters: +- mode: (required) The slug of the mode to start the new task in (e.g., "code", "ask", "architect"). +- message: (required) The initial user message or instructions for this new task. + +Usage: + +your-mode-slug-here +Your initial instructions here + + +Example: + +code +Implement a new feature for the application. + + + +# Tool Use Guidelines + +1. In tags, assess what information you already have and what information you need to proceed with the task. +2. Choose the most appropriate tool based on the task and the tool descriptions provided. Assess if you need additional information to proceed, and which of the available tools would be most effective for gathering this information. For example using the list_files tool is more effective than running a command like \`ls\` in the terminal. It's critical that you think about each available tool and use the one that best fits the current step in the task. +3. If multiple actions are needed, use one tool at a time per message to accomplish the task iteratively, with each tool use being informed by the result of the previous tool use. Do not assume the outcome of any tool use. Each step must be informed by the previous step's result. +4. Formulate your tool use using the XML format specified for each tool. +5. After each tool use, the user will respond with the result of that tool use. This result will provide you with the necessary information to continue your task or make further decisions. This response may include: + - Information about whether the tool succeeded or failed, along with any reasons for failure. + - Linter errors that may have arisen due to the changes you made, which you'll need to address. + - New terminal output in reaction to the changes, which you may need to consider or act upon. + - Any other relevant feedback or information related to the tool use. +6. ALWAYS wait for user confirmation after each tool use before proceeding. Never assume the success of a tool use without explicit confirmation of the result from the user. + +It is crucial to proceed step-by-step, waiting for the user's message after each tool use before moving forward with the task. This approach allows you to: +1. Confirm the success of each step before proceeding. +2. Address any issues or errors that arise immediately. +3. Adapt your approach based on new information or unexpected results. +4. Ensure that each action builds correctly on the previous ones. + +By waiting for and carefully considering the user's response after each tool use, you can react accordingly and make informed decisions about how to proceed with the task. This iterative process helps ensure the overall success and accuracy of your work. + +MCP SERVERS + +The Model Context Protocol (MCP) enables communication between the system and locally running MCP servers that provide additional tools and resources to extend your capabilities. + +# Connected MCP Servers + +When a server is connected, you can use the server's tools via the \`use_mcp_tool\` tool, and access the server's resources via the \`access_mcp_resource\` tool. + +(No MCP servers currently connected) + +==== + +CAPABILITIES + +- You have access to tools that let you execute CLI commands on the user's computer, list files, view source code definitions, regex search, read and write files, and ask follow-up questions. These tools help you effectively accomplish a wide range of tasks, such as writing code, making edits or improvements to existing files, understanding the current state of a project, performing system operations, and much more. +- When the user initially gives you a task, a recursive list of all filepaths in the current working directory ('/test/path') will be included in environment_details. This provides an overview of the project's file structure, offering key insights into the project from directory/file names (how developers conceptualize and organize their code) and file extensions (the language used). This can also guide decision-making on which files to explore further. If you need to further explore directories such as outside the current working directory, you can use the list_files tool. If you pass 'true' for the recursive parameter, it will list files recursively. Otherwise, it will list files at the top level, which is better suited for generic directories where you don't necessarily need the nested structure, like the Desktop. +- You can use search_files to perform regex searches across files in a specified directory, outputting context-rich results that include surrounding lines. This is particularly useful for understanding code patterns, finding specific implementations, or identifying areas that need refactoring. +- You can use the list_code_definition_names tool to get an overview of source code definitions for all files at the top level of a specified directory. This can be particularly useful when you need to understand the broader context and relationships between certain parts of the code. You may need to call this tool multiple times to understand various parts of the codebase related to the task. + - For example, when asked to make edits or improvements you might analyze the file structure in the initial environment_details to get an overview of the project, then use list_code_definition_names to get further insight using source code definitions for files located in relevant directories, then read_file to examine the contents of relevant files, analyze the code and suggest improvements or make necessary edits, then use the write_to_file tool to apply the changes. If you refactored code that could affect other parts of the codebase, you could use search_files to ensure you update other files as needed. +- You can use the execute_command tool to run commands on the user's computer whenever you feel it can help accomplish the user's task. When you need to execute a CLI command, you must provide a clear explanation of what the command does. Prefer to execute complex CLI commands over creating executable scripts, since they are more flexible and easier to run. Interactive and long-running commands are allowed, since the commands are run in the user's VSCode terminal. The user may keep commands running in the background and you will be kept updated on their status along the way. Each command you execute is run in a new terminal instance. +- You have access to MCP servers that may provide additional tools and resources. Each server may provide different capabilities that you can use to accomplish tasks more effectively. + + +==== + +MODES + +- Test modes section + +==== + +RULES + +- Your current working directory is: /test/path +- You cannot \`cd\` into a different directory to complete a task. You are stuck operating from '/test/path', so be sure to pass in the correct 'path' parameter when using tools that require a path. +- Do not use the ~ character or $HOME to refer to the home directory. +- Before using the execute_command tool, you must first think about the SYSTEM INFORMATION context provided to understand the user's environment and tailor your commands to ensure they are compatible with their system. You must also consider if the command you need to run should be executed in a specific directory outside of the current working directory '/test/path', and if so prepend with \`cd\`'ing into that directory && then executing the command (as one command since you are stuck operating from '/test/path'). For example, if you needed to run \`npm install\` in a project outside of '/test/path', you would need to prepend with a \`cd\` i.e. pseudocode for this would be \`cd (path to project) && (command, in this case npm install)\`. +- When using the search_files tool, craft your regex patterns carefully to balance specificity and flexibility. Based on the user's task you may use it to find code patterns, TODO comments, function definitions, or any text-based information across the project. The results include context, so analyze the surrounding code to better understand the matches. Leverage the search_files tool in combination with other tools for more comprehensive analysis. For example, use it to find specific code patterns, then use read_file to examine the full context of interesting matches before using write_to_file to make informed changes. +- When creating a new project (such as an app, website, or any software project), organize all new files within a dedicated project directory unless the user specifies otherwise. Use appropriate file paths when writing files, as the write_to_file tool will automatically create any necessary directories. Structure the project logically, adhering to best practices for the specific type of project being created. Unless otherwise specified, new projects should be easily run without additional setup, for example most projects can be built in HTML, CSS, and JavaScript - which you can open in a browser. +- When using the write_to_file tool to modify a file, use the tool directly with the desired content. You do not need to display the content before using the tool. ALWAYS provide the COMPLETE file content in your response. This is NON-NEGOTIABLE. Partial updates or placeholders like '// rest of code unchanged' are STRICTLY FORBIDDEN. You MUST include ALL parts of the file, even if they haven't been modified. Failure to do so will result in incomplete or broken code, severely impacting the user's project. +- Some modes have restrictions on which files they can edit. If you attempt to edit a restricted file, the operation will be rejected with a FileRestrictionError that will specify which file patterns are allowed for the current mode. +- Be sure to consider the type of project (e.g. Python, JavaScript, web application) when determining the appropriate structure and files to include. Also consider what files may be most relevant to accomplishing the task, for example looking at a project's manifest file would help you understand the project's dependencies, which you could incorporate into any code you write. + * For example, in architect mode trying to edit app.js would be rejected because architect mode can only edit files matching "\\.md$" +- When making changes to code, always consider the context in which the code is being used. Ensure that your changes are compatible with the existing codebase and that they follow the project's coding standards and best practices. +- Do not ask for more information than necessary. Use the tools provided to accomplish the user's request efficiently and effectively. When you've completed your task, you must use the attempt_completion tool to present the result to the user. The user may provide feedback, which you can use to make improvements and try again. +- You are only allowed to ask the user questions using the ask_followup_question tool. Use this tool only when you need additional details to complete a task, and be sure to use a clear and concise question that will help you move forward with the task. However if you can use the available tools to avoid having to ask the user questions, you should do so. For example, if the user mentions a file that may be in an outside directory like the Desktop, you should use the list_files tool to list the files in the Desktop and check if the file they are talking about is there, rather than asking the user to provide the file path themselves. +- When executing commands, if you don't see the expected output, assume the terminal executed the command successfully and proceed with the task. The user's terminal may be unable to stream the output back properly. If you absolutely need to see the actual terminal output, use the ask_followup_question tool to request the user to copy and paste it back to you. +- The user may provide a file's contents directly in their message, in which case you shouldn't use the read_file tool to get the file contents again since you already have it. +- Your goal is to try to accomplish the user's task, NOT engage in a back and forth conversation. +- NEVER end attempt_completion result with a question or request to engage in further conversation! Formulate the end of your result in a way that is final and does not require further input from the user. +- You are STRICTLY FORBIDDEN from starting your messages with "Great", "Certainly", "Okay", "Sure". You should NOT be conversational in your responses, but rather direct and to the point. For example you should NOT say "Great, I've updated the CSS" but instead something like "I've updated the CSS". It is important you be clear and technical in your messages. +- When presented with images, utilize your vision capabilities to thoroughly examine them and extract meaningful information. Incorporate these insights into your thought process as you accomplish the user's task. +- At the end of each user message, you will automatically receive environment_details. This information is not written by the user themselves, but is auto-generated to provide potentially relevant context about the project structure and environment. While this information can be valuable for understanding the project context, do not treat it as a direct part of the user's request or response. Use it to inform your actions and decisions, but don't assume the user is explicitly asking about or referring to this information unless they clearly do so in their message. When using environment_details, explain your actions clearly to ensure the user understands, as they may not be aware of these details. +- Before executing commands, check the "Actively Running Terminals" section in environment_details. If present, consider how these active processes might impact your task. For example, if a local development server is already running, you wouldn't need to start it again. If no active terminals are listed, proceed with command execution as normal. +- MCP operations should be used one at a time, similar to other tool usage. Wait for confirmation of success before proceeding with additional operations. +- It is critical you wait for the user's response after each tool use, in order to confirm the success of the tool use. For example, if asked to make a todo app, you would create a file, wait for the user's response it was created successfully, then create another file if needed, wait for the user's response it was created successfully, etc. + +==== + +SYSTEM INFORMATION + +Operating System: Linux +Default Shell: /bin/bash +Home Directory: /home/user +Current Working Directory: /test/path + +When the user initially gives you a task, a recursive list of all filepaths in the current working directory ('/test/path') will be included in environment_details. This provides an overview of the project's file structure, offering key insights into the project from directory/file names (how developers conceptualize and organize their code) and file extensions (the language used). This can also guide decision-making on which files to explore further. If you need to further explore directories such as outside the current working directory, you can use the list_files tool. If you pass 'true' for the recursive parameter, it will list files recursively. Otherwise, it will list files at the top level, which is better suited for generic directories where you don't necessarily need the nested structure, like the Desktop. + +==== + +OBJECTIVE + +You accomplish a given task iteratively, breaking it down into clear steps and working through them methodically. + +1. Analyze the user's task and set clear, achievable goals to accomplish it. Prioritize these goals in a logical order. +2. Work through these goals sequentially, utilizing available tools one at a time as necessary. Each goal should correspond to a distinct step in your problem-solving process. You will be informed on the work completed and what's remaining as you go. +3. Remember, you have extensive capabilities with access to a wide range of tools that can be used in powerful and clever ways as necessary to accomplish each goal. Before calling a tool, do some analysis within tags. First, analyze the file structure provided in environment_details to gain context and insights for proceeding effectively. Then, think about which of the provided tools is the most relevant tool to accomplish the user's task. Next, go through each of the required parameters of the relevant tool and determine if the user has directly provided or given enough information to infer a value. When deciding if the parameter can be inferred, carefully consider all the context to see if it supports a specific value. If all of the required parameters are present or can be reasonably inferred, close the thinking tag and proceed with the tool use. BUT, if one of the values for a required parameter is missing, DO NOT invoke the tool (not even with fillers for the missing params) and instead, ask the user to provide the missing parameters using the ask_followup_question tool. DO NOT ask for more information on optional parameters if it is not provided. +4. Once you've completed the user's task, you must use the attempt_completion tool to present the result of the task to the user. You may also provide a CLI command to showcase the result of your task; this can be particularly useful for web development tasks, where you can run e.g. \`open index.html\` to show the website you've built. +5. The user may provide feedback, which you can use to make improvements and try again. But DO NOT continue in pointless back and forth conversations, i.e. don't end your responses with questions or offers for further assistance. + + +==== + +USER'S CUSTOM INSTRUCTIONS + +The following additional instructions are provided by the user, and should be followed to the best of your ability without interfering with the TOOL USE guidelines. + +Rules: +# Rules from .clinerules-code: +Mock mode-specific rules +# Rules from .clinerules: +Mock generic rules" +`; + exports[`addCustomInstructions should fall back to generic rules when mode-specific rules not found 1`] = ` " ==== @@ -3862,6 +4244,742 @@ Mock mode-specific rules Mock generic rules" `; +exports[`addCustomInstructions should include MCP server creation info when enabled 1`] = ` +"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices. + +==== + +TOOL USE + +You have access to a set of tools that are executed upon the user's approval. You can use one tool per message, and will receive the result of that tool use in the user's response. You use tools step-by-step to accomplish a given task, with each tool use informed by the result of the previous tool use. + +# Tool Use Formatting + +Tool use is formatted using XML-style tags. The tool name is enclosed in opening and closing tags, and each parameter is similarly enclosed within its own set of tags. Here's the structure: + + +value1 +value2 +... + + +For example: + + +src/main.js + + +Always adhere to this format for the tool use to ensure proper parsing and execution. + +# Tools + +## read_file +Description: Request to read the contents of a file at the specified path. Use this when you need to examine the contents of an existing file you do not know the contents of, for example to analyze code, review text files, or extract information from configuration files. The output includes line numbers prefixed to each line (e.g. "1 | const x = 1"), making it easier to reference specific lines when creating diffs or discussing code. Automatically extracts raw text from PDF and DOCX files. May not be suitable for other types of binary files, as it returns the raw content as a string. +Parameters: +- path: (required) The path of the file to read (relative to the current working directory /test/path) +Usage: + +File path here + + +Example: Requesting to read frontend-config.json + +frontend-config.json + + +## search_files +Description: Request to perform a regex search across files in a specified directory, providing context-rich results. This tool searches for patterns or specific content across multiple files, displaying each match with encapsulating context. +Parameters: +- path: (required) The path of the directory to search in (relative to the current working directory /test/path). This directory will be recursively searched. +- regex: (required) The regular expression pattern to search for. Uses Rust regex syntax. +- file_pattern: (optional) Glob pattern to filter files (e.g., '*.ts' for TypeScript files). If not provided, it will search all files (*). +Usage: + +Directory path here +Your regex pattern here +file pattern here (optional) + + +Example: Requesting to search for all .ts files in the current directory + +. +.* +*.ts + + +## list_files +Description: Request to list files and directories within the specified directory. If recursive is true, it will list all files and directories recursively. If recursive is false or not provided, it will only list the top-level contents. Do not use this tool to confirm the existence of files you may have created, as the user will let you know if the files were created successfully or not. +Parameters: +- path: (required) The path of the directory to list contents for (relative to the current working directory /test/path) +- recursive: (optional) Whether to list files recursively. Use true for recursive listing, false or omit for top-level only. +Usage: + +Directory path here +true or false (optional) + + +Example: Requesting to list all files in the current directory + +. +false + + +## list_code_definition_names +Description: Request to list definition names (classes, functions, methods, etc.) used in source code files at the top level of the specified directory. This tool provides insights into the codebase structure and important constructs, encapsulating high-level concepts and relationships that are crucial for understanding the overall architecture. +Parameters: +- path: (required) The path of the directory (relative to the current working directory /test/path) to list top level source code definitions for. +Usage: + +Directory path here + + +Example: Requesting to list all top level source code definitions in the current directory + +. + + +## write_to_file +Description: Request to write full content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. +Parameters: +- path: (required) The path of the file to write to (relative to the current working directory /test/path) +- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified. Do NOT include the line numbers in the content though, just the actual content of the file. +- line_count: (required) The number of lines in the file. Make sure to compute this based on the actual content of the file, not the number of lines in the content you're providing. +Usage: + +File path here + +Your file content here + +total number of lines in the file, including empty lines + + +Example: Requesting to write to frontend-config.json + +frontend-config.json + +{ + "apiEndpoint": "https://api.example.com", + "theme": { + "primaryColor": "#007bff", + "secondaryColor": "#6c757d", + "fontFamily": "Arial, sans-serif" + }, + "features": { + "darkMode": true, + "notifications": true, + "analytics": false + }, + "version": "1.0.0" +} + +14 + + +## execute_command +Description: Request to execute a CLI command on the system. Use this when you need to perform system operations or run specific commands to accomplish any step in the user's task. You must tailor your command to the user's system and provide a clear explanation of what the command does. Prefer to execute complex CLI commands over creating executable scripts, as they are more flexible and easier to run. Commands will be executed in the current working directory: /test/path +Parameters: +- command: (required) The CLI command to execute. This should be valid for the current operating system. Ensure the command is properly formatted and does not contain any harmful instructions. +Usage: + +Your command here + + +Example: Requesting to execute npm run dev + +npm run dev + + +## use_mcp_tool +Description: Request to use a tool provided by a connected MCP server. Each MCP server can provide multiple tools with different capabilities. Tools have defined input schemas that specify required and optional parameters. +Parameters: +- server_name: (required) The name of the MCP server providing the tool +- tool_name: (required) The name of the tool to execute +- arguments: (required) A JSON object containing the tool's input parameters, following the tool's input schema +Usage: + +server name here +tool name here + +{ + "param1": "value1", + "param2": "value2" +} + + + +Example: Requesting to use an MCP tool + + +weather-server +get_forecast + +{ + "city": "San Francisco", + "days": 5 +} + + + +## access_mcp_resource +Description: Request to access a resource provided by a connected MCP server. Resources represent data sources that can be used as context, such as files, API responses, or system information. +Parameters: +- server_name: (required) The name of the MCP server providing the resource +- uri: (required) The URI identifying the specific resource to access +Usage: + +server name here +resource URI here + + +Example: Requesting to access an MCP resource + + +weather-server +weather://san-francisco/current + + +## ask_followup_question +Description: Ask the user a question to gather additional information needed to complete the task. This tool should be used when you encounter ambiguities, need clarification, or require more details to proceed effectively. It allows for interactive problem-solving by enabling direct communication with the user. Use this tool judiciously to maintain a balance between gathering necessary information and avoiding excessive back-and-forth. +Parameters: +- question: (required) The question to ask the user. This should be a clear, specific question that addresses the information you need. +Usage: + +Your question here + + +Example: Requesting to ask the user for the path to the frontend-config.json file + +What is the path to the frontend-config.json file? + + +## attempt_completion +Description: After each tool use, the user will respond with the result of that tool use, i.e. if it succeeded or failed, along with any reasons for failure. Once you've received the results of tool uses and can confirm that the task is complete, use this tool to present the result of your work to the user. Optionally you may provide a CLI command to showcase the result of your work. The user may respond with feedback if they are not satisfied with the result, which you can use to make improvements and try again. +IMPORTANT NOTE: This tool CANNOT be used until you've confirmed from the user that any previous tool uses were successful. Failure to do so will result in code corruption and system failure. Before using this tool, you must ask yourself in tags if you've confirmed from the user that any previous tool uses were successful. If not, then DO NOT use this tool. +Parameters: +- result: (required) The result of the task. Formulate this result in a way that is final and does not require further input from the user. Don't end your result with questions or offers for further assistance. +- command: (optional) A CLI command to execute to show a live demo of the result to the user. For example, use \`open index.html\` to display a created html website, or \`open localhost:3000\` to display a locally running development server. But DO NOT use commands like \`echo\` or \`cat\` that merely print text. This command should be valid for the current operating system. Ensure the command is properly formatted and does not contain any harmful instructions. +Usage: + + +Your final result description here + +Command to demonstrate result (optional) + + +Example: Requesting to attempt completion with a result and command + + +I've updated the CSS + +open index.html + + +## switch_mode +Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch. +Parameters: +- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect") +- reason: (optional) The reason for switching modes +Usage: + +Mode slug here +Reason for switching here + + +Example: Requesting to switch to code mode + +code +Need to make code changes + + +## new_task +Description: Create a new task with a specified starting mode and initial message. This tool instructs the system to create a new Cline instance in the given mode with the provided message. + +Parameters: +- mode: (required) The slug of the mode to start the new task in (e.g., "code", "ask", "architect"). +- message: (required) The initial user message or instructions for this new task. + +Usage: + +your-mode-slug-here +Your initial instructions here + + +Example: + +code +Implement a new feature for the application. + + + +# Tool Use Guidelines + +1. In tags, assess what information you already have and what information you need to proceed with the task. +2. Choose the most appropriate tool based on the task and the tool descriptions provided. Assess if you need additional information to proceed, and which of the available tools would be most effective for gathering this information. For example using the list_files tool is more effective than running a command like \`ls\` in the terminal. It's critical that you think about each available tool and use the one that best fits the current step in the task. +3. If multiple actions are needed, use one tool at a time per message to accomplish the task iteratively, with each tool use being informed by the result of the previous tool use. Do not assume the outcome of any tool use. Each step must be informed by the previous step's result. +4. Formulate your tool use using the XML format specified for each tool. +5. After each tool use, the user will respond with the result of that tool use. This result will provide you with the necessary information to continue your task or make further decisions. This response may include: + - Information about whether the tool succeeded or failed, along with any reasons for failure. + - Linter errors that may have arisen due to the changes you made, which you'll need to address. + - New terminal output in reaction to the changes, which you may need to consider or act upon. + - Any other relevant feedback or information related to the tool use. +6. ALWAYS wait for user confirmation after each tool use before proceeding. Never assume the success of a tool use without explicit confirmation of the result from the user. + +It is crucial to proceed step-by-step, waiting for the user's message after each tool use before moving forward with the task. This approach allows you to: +1. Confirm the success of each step before proceeding. +2. Address any issues or errors that arise immediately. +3. Adapt your approach based on new information or unexpected results. +4. Ensure that each action builds correctly on the previous ones. + +By waiting for and carefully considering the user's response after each tool use, you can react accordingly and make informed decisions about how to proceed with the task. This iterative process helps ensure the overall success and accuracy of your work. + +MCP SERVERS + +The Model Context Protocol (MCP) enables communication between the system and locally running MCP servers that provide additional tools and resources to extend your capabilities. + +# Connected MCP Servers + +When a server is connected, you can use the server's tools via the \`use_mcp_tool\` tool, and access the server's resources via the \`access_mcp_resource\` tool. + +(No MCP servers currently connected) + +## Creating an MCP Server + +The user may ask you something along the lines of "add a tool" that does some function, in other words to create an MCP server that provides tools and resources that may connect to external APIs for example. You have the ability to create an MCP server and add it to a configuration file that will then expose the tools and resources for you to use with \`use_mcp_tool\` and \`access_mcp_resource\`. + +When creating MCP servers, it's important to understand that they operate in a non-interactive environment. The server cannot initiate OAuth flows, open browser windows, or prompt for user input during runtime. All credentials and authentication tokens must be provided upfront through environment variables in the MCP settings configuration. For example, Spotify's API uses OAuth to get a refresh token for the user, but the MCP server cannot initiate this flow. While you can walk the user through obtaining an application client ID and secret, you may have to create a separate one-time setup script (like get-refresh-token.js) that captures and logs the final piece of the puzzle: the user's refresh token (i.e. you might run the script using execute_command which would open a browser for authentication, and then log the refresh token so that you can see it in the command output for you to use in the MCP settings configuration). + +Unless the user specifies otherwise, new MCP servers should be created in: /mock/mcp/path + +### Example MCP Server + +For example, if the user wanted to give you the ability to retrieve weather information, you could create an MCP server that uses the OpenWeather API to get weather information, add it to the MCP settings configuration file, and then notice that you now have access to new tools and resources in the system prompt that you might use to show the user your new capabilities. + +The following example demonstrates how to build an MCP server that provides weather data functionality. While this example shows how to implement resources, resource templates, and tools, in practice you should prefer using tools since they are more flexible and can handle dynamic parameters. The resource and resource template implementations are included here mainly for demonstration purposes of the different MCP capabilities, but a real weather server would likely just expose tools for fetching weather data. (The following steps are for macOS) + +1. Use the \`create-typescript-server\` tool to bootstrap a new project in the default MCP servers directory: + +\`\`\`bash +cd /mock/mcp/path +npx @modelcontextprotocol/create-server weather-server +cd weather-server +# Install dependencies +npm install axios +\`\`\` + +This will create a new project with the following structure: + +\`\`\` +weather-server/ + ├── package.json + { + ... + "type": "module", // added by default, uses ES module syntax (import/export) rather than CommonJS (require/module.exports) (Important to know if you create additional scripts in this server repository like a get-refresh-token.js script) + "scripts": { + "build": "tsc && node -e "require('fs').chmodSync('build/index.js', '755')"", + ... + } + ... + } + ├── tsconfig.json + └── src/ + └── weather-server/ + └── index.ts # Main server implementation +\`\`\` + +2. Replace \`src/index.ts\` with the following: + +\`\`\`typescript +#!/usr/bin/env node +import { Server } from '@modelcontextprotocol/sdk/server/index.js'; +import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; +import { + CallToolRequestSchema, + ErrorCode, + ListResourcesRequestSchema, + ListResourceTemplatesRequestSchema, + ListToolsRequestSchema, + McpError, + ReadResourceRequestSchema, +} from '@modelcontextprotocol/sdk/types.js'; +import axios from 'axios'; + +const API_KEY = process.env.OPENWEATHER_API_KEY; // provided by MCP config +if (!API_KEY) { + throw new Error('OPENWEATHER_API_KEY environment variable is required'); +} + +interface OpenWeatherResponse { + main: { + temp: number; + humidity: number; + }; + weather: [{ description: string }]; + wind: { speed: number }; + dt_txt?: string; +} + +const isValidForecastArgs = ( + args: any +): args is { city: string; days?: number } => + typeof args === 'object' && + args !== null && + typeof args.city === 'string' && + (args.days === undefined || typeof args.days === 'number'); + +class WeatherServer { + private server: Server; + private axiosInstance; + + constructor() { + this.server = new Server( + { + name: 'example-weather-server', + version: '0.1.0', + }, + { + capabilities: { + resources: {}, + tools: {}, + }, + } + ); + + this.axiosInstance = axios.create({ + baseURL: 'http://api.openweathermap.org/data/2.5', + params: { + appid: API_KEY, + units: 'metric', + }, + }); + + this.setupResourceHandlers(); + this.setupToolHandlers(); + + // Error handling + this.server.onerror = (error) => console.error('[MCP Error]', error); + process.on('SIGINT', async () => { + await this.server.close(); + process.exit(0); + }); + } + + // MCP Resources represent any kind of UTF-8 encoded data that an MCP server wants to make available to clients, such as database records, API responses, log files, and more. Servers define direct resources with a static URI or dynamic resources with a URI template that follows the format \`[protocol]://[host]/[path]\`. + private setupResourceHandlers() { + // For static resources, servers can expose a list of resources: + this.server.setRequestHandler(ListResourcesRequestSchema, async () => ({ + resources: [ + // This is a poor example since you could use the resource template to get the same information but this demonstrates how to define a static resource + { + uri: \`weather://San Francisco/current\`, // Unique identifier for San Francisco weather resource + name: \`Current weather in San Francisco\`, // Human-readable name + mimeType: 'application/json', // Optional MIME type + // Optional description + description: + 'Real-time weather data for San Francisco including temperature, conditions, humidity, and wind speed', + }, + ], + })); + + // For dynamic resources, servers can expose resource templates: + this.server.setRequestHandler( + ListResourceTemplatesRequestSchema, + async () => ({ + resourceTemplates: [ + { + uriTemplate: 'weather://{city}/current', // URI template (RFC 6570) + name: 'Current weather for a given city', // Human-readable name + mimeType: 'application/json', // Optional MIME type + description: 'Real-time weather data for a specified city', // Optional description + }, + ], + }) + ); + + // ReadResourceRequestSchema is used for both static resources and dynamic resource templates + this.server.setRequestHandler( + ReadResourceRequestSchema, + async (request) => { + const match = request.params.uri.match( + /^weather://([^/]+)/current$/ + ); + if (!match) { + throw new McpError( + ErrorCode.InvalidRequest, + \`Invalid URI format: \${request.params.uri}\` + ); + } + const city = decodeURIComponent(match[1]); + + try { + const response = await this.axiosInstance.get( + 'weather', // current weather + { + params: { q: city }, + } + ); + + return { + contents: [ + { + uri: request.params.uri, + mimeType: 'application/json', + text: JSON.stringify( + { + temperature: response.data.main.temp, + conditions: response.data.weather[0].description, + humidity: response.data.main.humidity, + wind_speed: response.data.wind.speed, + timestamp: new Date().toISOString(), + }, + null, + 2 + ), + }, + ], + }; + } catch (error) { + if (axios.isAxiosError(error)) { + throw new McpError( + ErrorCode.InternalError, + \`Weather API error: \${ + error.response?.data.message ?? error.message + }\` + ); + } + throw error; + } + } + ); + } + + /* MCP Tools enable servers to expose executable functionality to the system. Through these tools, you can interact with external systems, perform computations, and take actions in the real world. + * - Like resources, tools are identified by unique names and can include descriptions to guide their usage. However, unlike resources, tools represent dynamic operations that can modify state or interact with external systems. + * - While resources and tools are similar, you should prefer to create tools over resources when possible as they provide more flexibility. + */ + private setupToolHandlers() { + this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ + tools: [ + { + name: 'get_forecast', // Unique identifier + description: 'Get weather forecast for a city', // Human-readable description + inputSchema: { + // JSON Schema for parameters + type: 'object', + properties: { + city: { + type: 'string', + description: 'City name', + }, + days: { + type: 'number', + description: 'Number of days (1-5)', + minimum: 1, + maximum: 5, + }, + }, + required: ['city'], // Array of required property names + }, + }, + ], + })); + + this.server.setRequestHandler(CallToolRequestSchema, async (request) => { + if (request.params.name !== 'get_forecast') { + throw new McpError( + ErrorCode.MethodNotFound, + \`Unknown tool: \${request.params.name}\` + ); + } + + if (!isValidForecastArgs(request.params.arguments)) { + throw new McpError( + ErrorCode.InvalidParams, + 'Invalid forecast arguments' + ); + } + + const city = request.params.arguments.city; + const days = Math.min(request.params.arguments.days || 3, 5); + + try { + const response = await this.axiosInstance.get<{ + list: OpenWeatherResponse[]; + }>('forecast', { + params: { + q: city, + cnt: days * 8, + }, + }); + + return { + content: [ + { + type: 'text', + text: JSON.stringify(response.data.list, null, 2), + }, + ], + }; + } catch (error) { + if (axios.isAxiosError(error)) { + return { + content: [ + { + type: 'text', + text: \`Weather API error: \${ + error.response?.data.message ?? error.message + }\`, + }, + ], + isError: true, + }; + } + throw error; + } + }); + } + + async run() { + const transport = new StdioServerTransport(); + await this.server.connect(transport); + console.error('Weather MCP server running on stdio'); + } +} + +const server = new WeatherServer(); +server.run().catch(console.error); +\`\`\` + +(Remember: This is just an example–you may use different dependencies, break the implementation up into multiple files, etc.) + +3. Build and compile the executable JavaScript file + +\`\`\`bash +npm run build +\`\`\` + +4. Whenever you need an environment variable such as an API key to configure the MCP server, walk the user through the process of getting the key. For example, they may need to create an account and go to a developer dashboard to generate the key. Provide step-by-step instructions and URLs to make it easy for the user to retrieve the necessary information. Then use the ask_followup_question tool to ask the user for the key, in this case the OpenWeather API key. + +5. Install the MCP Server by adding the MCP server configuration to the settings file located at '/mock/settings/path'. The settings file may have other MCP servers already configured, so you would read it first and then add your new server to the existing \`mcpServers\` object. + +IMPORTANT: Regardless of what else you see in the MCP settings file, you must default any new MCP servers you create to disabled=false and alwaysAllow=[]. + +\`\`\`json +{ + "mcpServers": { + ..., + "weather": { + "command": "node", + "args": ["/path/to/weather-server/build/index.js"], + "env": { + "OPENWEATHER_API_KEY": "user-provided-api-key" + } + }, + } +} +\`\`\` + +(Note: the user may also ask you to install the MCP server to the Claude desktop app, in which case you would read then modify \`~/Library/Application Support/Claude/claude_desktop_config.json\` on macOS for example. It follows the same format of a top level \`mcpServers\` object.) + +6. After you have edited the MCP settings configuration file, the system will automatically run all the servers and expose the available tools and resources in the 'Connected MCP Servers' section. + +7. Now that you have access to these new tools and resources, you may suggest ways the user can command you to invoke them - for example, with this new weather tool now available, you can invite the user to ask "what's the weather in San Francisco?" + +## Editing MCP Servers + +The user may ask to add tools or resources that may make sense to add to an existing MCP server (listed under 'Connected MCP Servers' above: (None running currently), e.g. if it would use the same API. This would be possible if you can locate the MCP server repository on the user's system by looking at the server arguments for a filepath. You might then use list_files and read_file to explore the files in the repository, and use write_to_file to make changes to the files. + +However some MCP servers may be running from installed packages rather than a local repository, in which case it may make more sense to create a new MCP server. + +# MCP Servers Are Not Always Necessary + +The user may not always request the use or creation of MCP servers. Instead, they might provide tasks that can be completed with existing tools. While using the MCP SDK to extend your capabilities can be useful, it's important to understand that this is just one specialized type of task you can accomplish. You should only implement MCP servers when the user explicitly requests it (e.g., "add a tool that..."). + +Remember: The MCP documentation and example provided above are to help you understand and work with existing MCP servers or create new ones when requested by the user. You already have access to tools and capabilities that can be used to accomplish a wide range of tasks. + +==== + +CAPABILITIES + +- You have access to tools that let you execute CLI commands on the user's computer, list files, view source code definitions, regex search, read and write files, and ask follow-up questions. These tools help you effectively accomplish a wide range of tasks, such as writing code, making edits or improvements to existing files, understanding the current state of a project, performing system operations, and much more. +- When the user initially gives you a task, a recursive list of all filepaths in the current working directory ('/test/path') will be included in environment_details. This provides an overview of the project's file structure, offering key insights into the project from directory/file names (how developers conceptualize and organize their code) and file extensions (the language used). This can also guide decision-making on which files to explore further. If you need to further explore directories such as outside the current working directory, you can use the list_files tool. If you pass 'true' for the recursive parameter, it will list files recursively. Otherwise, it will list files at the top level, which is better suited for generic directories where you don't necessarily need the nested structure, like the Desktop. +- You can use search_files to perform regex searches across files in a specified directory, outputting context-rich results that include surrounding lines. This is particularly useful for understanding code patterns, finding specific implementations, or identifying areas that need refactoring. +- You can use the list_code_definition_names tool to get an overview of source code definitions for all files at the top level of a specified directory. This can be particularly useful when you need to understand the broader context and relationships between certain parts of the code. You may need to call this tool multiple times to understand various parts of the codebase related to the task. + - For example, when asked to make edits or improvements you might analyze the file structure in the initial environment_details to get an overview of the project, then use list_code_definition_names to get further insight using source code definitions for files located in relevant directories, then read_file to examine the contents of relevant files, analyze the code and suggest improvements or make necessary edits, then use the write_to_file tool to apply the changes. If you refactored code that could affect other parts of the codebase, you could use search_files to ensure you update other files as needed. +- You can use the execute_command tool to run commands on the user's computer whenever you feel it can help accomplish the user's task. When you need to execute a CLI command, you must provide a clear explanation of what the command does. Prefer to execute complex CLI commands over creating executable scripts, since they are more flexible and easier to run. Interactive and long-running commands are allowed, since the commands are run in the user's VSCode terminal. The user may keep commands running in the background and you will be kept updated on their status along the way. Each command you execute is run in a new terminal instance. +- You have access to MCP servers that may provide additional tools and resources. Each server may provide different capabilities that you can use to accomplish tasks more effectively. + + +==== + +MODES + +- Test modes section + +==== + +RULES + +- Your current working directory is: /test/path +- You cannot \`cd\` into a different directory to complete a task. You are stuck operating from '/test/path', so be sure to pass in the correct 'path' parameter when using tools that require a path. +- Do not use the ~ character or $HOME to refer to the home directory. +- Before using the execute_command tool, you must first think about the SYSTEM INFORMATION context provided to understand the user's environment and tailor your commands to ensure they are compatible with their system. You must also consider if the command you need to run should be executed in a specific directory outside of the current working directory '/test/path', and if so prepend with \`cd\`'ing into that directory && then executing the command (as one command since you are stuck operating from '/test/path'). For example, if you needed to run \`npm install\` in a project outside of '/test/path', you would need to prepend with a \`cd\` i.e. pseudocode for this would be \`cd (path to project) && (command, in this case npm install)\`. +- When using the search_files tool, craft your regex patterns carefully to balance specificity and flexibility. Based on the user's task you may use it to find code patterns, TODO comments, function definitions, or any text-based information across the project. The results include context, so analyze the surrounding code to better understand the matches. Leverage the search_files tool in combination with other tools for more comprehensive analysis. For example, use it to find specific code patterns, then use read_file to examine the full context of interesting matches before using write_to_file to make informed changes. +- When creating a new project (such as an app, website, or any software project), organize all new files within a dedicated project directory unless the user specifies otherwise. Use appropriate file paths when writing files, as the write_to_file tool will automatically create any necessary directories. Structure the project logically, adhering to best practices for the specific type of project being created. Unless otherwise specified, new projects should be easily run without additional setup, for example most projects can be built in HTML, CSS, and JavaScript - which you can open in a browser. +- When using the write_to_file tool to modify a file, use the tool directly with the desired content. You do not need to display the content before using the tool. ALWAYS provide the COMPLETE file content in your response. This is NON-NEGOTIABLE. Partial updates or placeholders like '// rest of code unchanged' are STRICTLY FORBIDDEN. You MUST include ALL parts of the file, even if they haven't been modified. Failure to do so will result in incomplete or broken code, severely impacting the user's project. +- Some modes have restrictions on which files they can edit. If you attempt to edit a restricted file, the operation will be rejected with a FileRestrictionError that will specify which file patterns are allowed for the current mode. +- Be sure to consider the type of project (e.g. Python, JavaScript, web application) when determining the appropriate structure and files to include. Also consider what files may be most relevant to accomplishing the task, for example looking at a project's manifest file would help you understand the project's dependencies, which you could incorporate into any code you write. + * For example, in architect mode trying to edit app.js would be rejected because architect mode can only edit files matching "\\.md$" +- When making changes to code, always consider the context in which the code is being used. Ensure that your changes are compatible with the existing codebase and that they follow the project's coding standards and best practices. +- Do not ask for more information than necessary. Use the tools provided to accomplish the user's request efficiently and effectively. When you've completed your task, you must use the attempt_completion tool to present the result to the user. The user may provide feedback, which you can use to make improvements and try again. +- You are only allowed to ask the user questions using the ask_followup_question tool. Use this tool only when you need additional details to complete a task, and be sure to use a clear and concise question that will help you move forward with the task. However if you can use the available tools to avoid having to ask the user questions, you should do so. For example, if the user mentions a file that may be in an outside directory like the Desktop, you should use the list_files tool to list the files in the Desktop and check if the file they are talking about is there, rather than asking the user to provide the file path themselves. +- When executing commands, if you don't see the expected output, assume the terminal executed the command successfully and proceed with the task. The user's terminal may be unable to stream the output back properly. If you absolutely need to see the actual terminal output, use the ask_followup_question tool to request the user to copy and paste it back to you. +- The user may provide a file's contents directly in their message, in which case you shouldn't use the read_file tool to get the file contents again since you already have it. +- Your goal is to try to accomplish the user's task, NOT engage in a back and forth conversation. +- NEVER end attempt_completion result with a question or request to engage in further conversation! Formulate the end of your result in a way that is final and does not require further input from the user. +- You are STRICTLY FORBIDDEN from starting your messages with "Great", "Certainly", "Okay", "Sure". You should NOT be conversational in your responses, but rather direct and to the point. For example you should NOT say "Great, I've updated the CSS" but instead something like "I've updated the CSS". It is important you be clear and technical in your messages. +- When presented with images, utilize your vision capabilities to thoroughly examine them and extract meaningful information. Incorporate these insights into your thought process as you accomplish the user's task. +- At the end of each user message, you will automatically receive environment_details. This information is not written by the user themselves, but is auto-generated to provide potentially relevant context about the project structure and environment. While this information can be valuable for understanding the project context, do not treat it as a direct part of the user's request or response. Use it to inform your actions and decisions, but don't assume the user is explicitly asking about or referring to this information unless they clearly do so in their message. When using environment_details, explain your actions clearly to ensure the user understands, as they may not be aware of these details. +- Before executing commands, check the "Actively Running Terminals" section in environment_details. If present, consider how these active processes might impact your task. For example, if a local development server is already running, you wouldn't need to start it again. If no active terminals are listed, proceed with command execution as normal. +- MCP operations should be used one at a time, similar to other tool usage. Wait for confirmation of success before proceeding with additional operations. +- It is critical you wait for the user's response after each tool use, in order to confirm the success of the tool use. For example, if asked to make a todo app, you would create a file, wait for the user's response it was created successfully, then create another file if needed, wait for the user's response it was created successfully, etc. + +==== + +SYSTEM INFORMATION + +Operating System: Linux +Default Shell: /bin/bash +Home Directory: /home/user +Current Working Directory: /test/path + +When the user initially gives you a task, a recursive list of all filepaths in the current working directory ('/test/path') will be included in environment_details. This provides an overview of the project's file structure, offering key insights into the project from directory/file names (how developers conceptualize and organize their code) and file extensions (the language used). This can also guide decision-making on which files to explore further. If you need to further explore directories such as outside the current working directory, you can use the list_files tool. If you pass 'true' for the recursive parameter, it will list files recursively. Otherwise, it will list files at the top level, which is better suited for generic directories where you don't necessarily need the nested structure, like the Desktop. + +==== + +OBJECTIVE + +You accomplish a given task iteratively, breaking it down into clear steps and working through them methodically. + +1. Analyze the user's task and set clear, achievable goals to accomplish it. Prioritize these goals in a logical order. +2. Work through these goals sequentially, utilizing available tools one at a time as necessary. Each goal should correspond to a distinct step in your problem-solving process. You will be informed on the work completed and what's remaining as you go. +3. Remember, you have extensive capabilities with access to a wide range of tools that can be used in powerful and clever ways as necessary to accomplish each goal. Before calling a tool, do some analysis within tags. First, analyze the file structure provided in environment_details to gain context and insights for proceeding effectively. Then, think about which of the provided tools is the most relevant tool to accomplish the user's task. Next, go through each of the required parameters of the relevant tool and determine if the user has directly provided or given enough information to infer a value. When deciding if the parameter can be inferred, carefully consider all the context to see if it supports a specific value. If all of the required parameters are present or can be reasonably inferred, close the thinking tag and proceed with the tool use. BUT, if one of the values for a required parameter is missing, DO NOT invoke the tool (not even with fillers for the missing params) and instead, ask the user to provide the missing parameters using the ask_followup_question tool. DO NOT ask for more information on optional parameters if it is not provided. +4. Once you've completed the user's task, you must use the attempt_completion tool to present the result of the task to the user. You may also provide a CLI command to showcase the result of your task; this can be particularly useful for web development tasks, where you can run e.g. \`open index.html\` to show the website you've built. +5. The user may provide feedback, which you can use to make improvements and try again. But DO NOT continue in pointless back and forth conversations, i.e. don't end your responses with questions or offers for further assistance. + + +==== + +USER'S CUSTOM INSTRUCTIONS + +The following additional instructions are provided by the user, and should be followed to the best of your ability without interfering with the TOOL USE guidelines. + +Rules: +# Rules from .clinerules-code: +Mock mode-specific rules +# Rules from .clinerules: +Mock generic rules" +`; + exports[`addCustomInstructions should include custom instructions when provided 1`] = ` " ==== diff --git a/src/core/prompts/__tests__/system.test.ts b/src/core/prompts/__tests__/system.test.ts index d4edea8..9ee0f87 100644 --- a/src/core/prompts/__tests__/system.test.ts +++ b/src/core/prompts/__tests__/system.test.ts @@ -174,6 +174,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) expect(prompt).toMatchSnapshot() @@ -194,6 +195,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) expect(prompt).toMatchSnapshot() @@ -216,6 +218,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) expect(prompt).toMatchSnapshot() @@ -236,6 +239,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) expect(prompt).toMatchSnapshot() @@ -256,6 +260,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) expect(prompt).toMatchSnapshot() @@ -276,6 +281,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage true, // diffEnabled experiments, + true, // enableMcpServerCreation ) expect(prompt).toContain("apply_diff") @@ -297,6 +303,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage false, // diffEnabled experiments, + true, // enableMcpServerCreation ) expect(prompt).not.toContain("apply_diff") @@ -318,6 +325,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) expect(prompt).not.toContain("apply_diff") @@ -339,6 +347,7 @@ describe("SYSTEM_PROMPT", () => { "Spanish", // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) expect(prompt).toContain("Language Preference:") @@ -371,6 +380,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) // Role definition should be at the top @@ -406,6 +416,7 @@ describe("SYSTEM_PROMPT", () => { undefined, undefined, experiments, + true, // enableMcpServerCreation ) // Role definition from promptComponent should be at the top @@ -436,6 +447,7 @@ describe("SYSTEM_PROMPT", () => { undefined, undefined, experiments, + true, // enableMcpServerCreation ) // Should use the default mode's role definition @@ -458,6 +470,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, // experiments - undefined should disable all experimental tools + true, // enableMcpServerCreation ) // Verify experimental tools are not included in the prompt @@ -485,6 +498,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) // Verify experimental tools are included in the prompt when enabled @@ -512,6 +526,7 @@ describe("SYSTEM_PROMPT", () => { undefined, // preferredLanguage undefined, // diffEnabled experiments, + true, // enableMcpServerCreation ) // Verify only enabled experimental tools are included @@ -539,6 +554,7 @@ describe("SYSTEM_PROMPT", () => { undefined, true, // diffEnabled experiments, + true, // enableMcpServerCreation ) // Verify base instruction lists all available tools @@ -568,6 +584,7 @@ describe("SYSTEM_PROMPT", () => { undefined, true, experiments, + true, // enableMcpServerCreation ) // Verify detailed instructions for each tool @@ -623,6 +640,7 @@ describe("addCustomInstructions", () => { undefined, undefined, experiments, + true, // enableMcpServerCreation ) expect(prompt).toMatchSnapshot() @@ -643,11 +661,60 @@ describe("addCustomInstructions", () => { undefined, undefined, experiments, + true, // enableMcpServerCreation ) expect(prompt).toMatchSnapshot() }) + it("should include MCP server creation info when enabled", async () => { + const mockMcpHub = createMockMcpHub() + + const prompt = await SYSTEM_PROMPT( + mockContext, + "/test/path", + false, // supportsComputerUse + mockMcpHub, // mcpHub + undefined, // diffStrategy + undefined, // browserViewportSize + defaultModeSlug, // mode + undefined, // customModePrompts + undefined, // customModes, + undefined, // globalCustomInstructions + undefined, // preferredLanguage + undefined, // diffEnabled + experiments, + true, // enableMcpServerCreation + ) + + expect(prompt).toContain("Creating an MCP Server") + expect(prompt).toMatchSnapshot() + }) + + it("should exclude MCP server creation info when disabled", async () => { + const mockMcpHub = createMockMcpHub() + + const prompt = await SYSTEM_PROMPT( + mockContext, + "/test/path", + false, // supportsComputerUse + mockMcpHub, // mcpHub + undefined, // diffStrategy + undefined, // browserViewportSize + defaultModeSlug, // mode + undefined, // customModePrompts + undefined, // customModes, + undefined, // globalCustomInstructions + undefined, // preferredLanguage + undefined, // diffEnabled + experiments, + false, // enableMcpServerCreation + ) + + expect(prompt).not.toContain("Creating an MCP Server") + expect(prompt).toMatchSnapshot() + }) + it("should prioritize mode-specific rules for code mode", async () => { const instructions = await addCustomInstructions("", "", "/test/path", defaultModeSlug) expect(instructions).toMatchSnapshot() diff --git a/src/core/prompts/sections/mcp-servers.ts b/src/core/prompts/sections/mcp-servers.ts index 774d7df..8d3265f 100644 --- a/src/core/prompts/sections/mcp-servers.ts +++ b/src/core/prompts/sections/mcp-servers.ts @@ -1,7 +1,11 @@ import { DiffStrategy } from "../../diff/DiffStrategy" import { McpHub } from "../../../services/mcp/McpHub" -export async function getMcpServersSection(mcpHub?: McpHub, diffStrategy?: DiffStrategy): Promise { +export async function getMcpServersSection( + mcpHub?: McpHub, + diffStrategy?: DiffStrategy, + enableMcpServerCreation?: boolean, +): Promise { if (!mcpHub) { return "" } @@ -43,7 +47,7 @@ export async function getMcpServersSection(mcpHub?: McpHub, diffStrategy?: DiffS .join("\n\n")}` : "(No MCP servers currently connected)" - return `MCP SERVERS + const baseSection = `MCP SERVERS The Model Context Protocol (MCP) enables communication between the system and locally running MCP servers that provide additional tools and resources to extend your capabilities. @@ -51,7 +55,15 @@ The Model Context Protocol (MCP) enables communication between the system and lo When a server is connected, you can use the server's tools via the \`use_mcp_tool\` tool, and access the server's resources via the \`access_mcp_resource\` tool. -${connectedServers} +${connectedServers}` + + if (!enableMcpServerCreation) { + return baseSection + } + + return ( + baseSection + + ` ## Creating an MCP Server @@ -86,7 +98,7 @@ weather-server/ ... "type": "module", // added by default, uses ES module syntax (import/export) rather than CommonJS (require/module.exports) (Important to know if you create additional scripts in this server repository like a get-refresh-token.js script) "scripts": { - "build": "tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"", + "build": "tsc && node -e "require('fs').chmodSync('build/index.js', '755')"", ... } ... @@ -398,11 +410,11 @@ IMPORTANT: Regardless of what else you see in the MCP settings file, you must de ## Editing MCP Servers The user may ask to add tools or resources that may make sense to add to an existing MCP server (listed under 'Connected MCP Servers' above: ${ - mcpHub - .getServers() - .map((server) => server.name) - .join(", ") || "(None running currently)" - }, e.g. if it would use the same API. This would be possible if you can locate the MCP server repository on the user's system by looking at the server arguments for a filepath. You might then use list_files and read_file to explore the files in the repository, and use write_to_file${diffStrategy ? " or apply_diff" : ""} to make changes to the files. + mcpHub + .getServers() + .map((server) => server.name) + .join(", ") || "(None running currently)" + }, e.g. if it would use the same API. This would be possible if you can locate the MCP server repository on the user's system by looking at the server arguments for a filepath. You might then use list_files and read_file to explore the files in the repository, and use write_to_file${diffStrategy ? " or apply_diff" : ""} to make changes to the files. However some MCP servers may be running from installed packages rather than a local repository, in which case it may make more sense to create a new MCP server. @@ -411,4 +423,5 @@ However some MCP servers may be running from installed packages rather than a lo The user may not always request the use or creation of MCP servers. Instead, they might provide tasks that can be completed with existing tools. While using the MCP SDK to extend your capabilities can be useful, it's important to understand that this is just one specialized type of task you can accomplish. You should only implement MCP servers when the user explicitly requests it (e.g., "add a tool that..."). Remember: The MCP documentation and example provided above are to help you understand and work with existing MCP servers or create new ones when requested by the user. You already have access to tools and capabilities that can be used to accomplish a wide range of tasks.` + ) } diff --git a/src/core/prompts/system.ts b/src/core/prompts/system.ts index f579771..91bbd07 100644 --- a/src/core/prompts/system.ts +++ b/src/core/prompts/system.ts @@ -40,6 +40,7 @@ async function generatePrompt( preferredLanguage?: string, diffEnabled?: boolean, experiments?: Record, + enableMcpServerCreation?: boolean, ): Promise { if (!context) { throw new Error("Extension context is required for generating system prompt") @@ -49,7 +50,7 @@ async function generatePrompt( const effectiveDiffStrategy = diffEnabled ? diffStrategy : undefined const [mcpServersSection, modesSection] = await Promise.all([ - getMcpServersSection(mcpHub, effectiveDiffStrategy), + getMcpServersSection(mcpHub, effectiveDiffStrategy, enableMcpServerCreation), getModesSection(context), ]) @@ -105,6 +106,7 @@ export const SYSTEM_PROMPT = async ( preferredLanguage?: string, diffEnabled?: boolean, experiments?: Record, + enableMcpServerCreation?: boolean, ): Promise => { if (!context) { throw new Error("Extension context is required for generating system prompt") @@ -139,5 +141,6 @@ export const SYSTEM_PROMPT = async ( preferredLanguage, diffEnabled, experiments, + enableMcpServerCreation, ) } diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 3daf0d3..90d2c69 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -102,6 +102,7 @@ type GlobalStateKey = | "writeDelayMs" | "terminalOutputLineLimit" | "mcpEnabled" + | "enableMcpServerCreation" | "alwaysApproveResubmit" | "requestDelaySeconds" | "rateLimitSeconds" @@ -841,6 +842,10 @@ export class ClineProvider implements vscode.WebviewViewProvider { await this.updateGlobalState("mcpEnabled", mcpEnabled) await this.postStateToWebview() break + case "enableMcpServerCreation": + await this.updateGlobalState("enableMcpServerCreation", message.bool ?? true) + await this.postStateToWebview() + break case "playSound": if (message.audioType) { const soundPath = path.join(this.context.extensionPath, "audio", `${message.audioType}.wav`) @@ -1129,6 +1134,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { mcpEnabled, fuzzyMatchThreshold, experiments, + enableMcpServerCreation, } = await this.getState() // Create diffStrategy based on current model and settings @@ -1157,6 +1163,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { preferredLanguage, diffEnabled, experiments, + enableMcpServerCreation, ) await this.postMessageToWebview({ @@ -1994,6 +2001,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { terminalOutputLineLimit, fuzzyMatchThreshold, mcpEnabled, + enableMcpServerCreation, alwaysApproveResubmit, requestDelaySeconds, rateLimitSeconds, @@ -2036,6 +2044,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { terminalOutputLineLimit: terminalOutputLineLimit ?? 500, fuzzyMatchThreshold: fuzzyMatchThreshold ?? 1.0, mcpEnabled: mcpEnabled ?? true, + enableMcpServerCreation: enableMcpServerCreation ?? true, alwaysApproveResubmit: alwaysApproveResubmit ?? false, requestDelaySeconds: requestDelaySeconds ?? 10, rateLimitSeconds: rateLimitSeconds ?? 0, @@ -2160,6 +2169,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { screenshotQuality, terminalOutputLineLimit, mcpEnabled, + enableMcpServerCreation, alwaysApproveResubmit, requestDelaySeconds, rateLimitSeconds, @@ -2233,6 +2243,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { this.getGlobalState("screenshotQuality") as Promise, this.getGlobalState("terminalOutputLineLimit") as Promise, this.getGlobalState("mcpEnabled") as Promise, + this.getGlobalState("enableMcpServerCreation") as Promise, this.getGlobalState("alwaysApproveResubmit") as Promise, this.getGlobalState("requestDelaySeconds") as Promise, this.getGlobalState("rateLimitSeconds") as Promise, @@ -2356,6 +2367,7 @@ export class ClineProvider implements vscode.WebviewViewProvider { return langMap[vscodeLang.split("-")[0]] ?? "English" })(), mcpEnabled: mcpEnabled ?? true, + enableMcpServerCreation: enableMcpServerCreation ?? true, alwaysApproveResubmit: alwaysApproveResubmit ?? false, requestDelaySeconds: Math.max(5, requestDelaySeconds ?? 10), rateLimitSeconds: rateLimitSeconds ?? 0, diff --git a/src/core/webview/__tests__/ClineProvider.test.ts b/src/core/webview/__tests__/ClineProvider.test.ts index a96cf87..664b7b5 100644 --- a/src/core/webview/__tests__/ClineProvider.test.ts +++ b/src/core/webview/__tests__/ClineProvider.test.ts @@ -323,6 +323,7 @@ describe("ClineProvider", () => { browserViewportSize: "900x600", fuzzyMatchThreshold: 1.0, mcpEnabled: true, + enableMcpServerCreation: false, requestDelaySeconds: 5, rateLimitSeconds: 0, mode: defaultModeSlug, @@ -895,6 +896,7 @@ describe("ClineProvider", () => { }, }, mcpEnabled: true, + enableMcpServerCreation: false, mode: "code" as const, experiments: experimentDefault, } as any) @@ -927,6 +929,7 @@ describe("ClineProvider", () => { }, }, mcpEnabled: false, + enableMcpServerCreation: false, mode: "code" as const, experiments: experimentDefault, } as any) @@ -991,6 +994,7 @@ describe("ClineProvider", () => { }, customModePrompts: {}, mode: "code", + enableMcpServerCreation: true, mcpEnabled: false, browserViewportSize: "900x600", experimentalDiffStrategy: true, @@ -1025,6 +1029,7 @@ describe("ClineProvider", () => { undefined, // preferredLanguage true, // diffEnabled experimentDefault, + true, ) // Run the test again to verify it's consistent @@ -1048,6 +1053,7 @@ describe("ClineProvider", () => { diffEnabled: false, fuzzyMatchThreshold: 0.8, experiments: experimentDefault, + enableMcpServerCreation: true, } as any) // Mock SYSTEM_PROMPT to verify diffEnabled is passed as false @@ -1076,6 +1082,7 @@ describe("ClineProvider", () => { undefined, // preferredLanguage false, // diffEnabled experimentDefault, + true, ) }) @@ -1090,6 +1097,7 @@ describe("ClineProvider", () => { architect: { customInstructions: "Architect mode instructions" }, }, mode: "architect", + enableMcpServerCreation: false, mcpEnabled: false, browserViewportSize: "900x600", experiments: experimentDefault, diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index 7eacfca..4be5ed3 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -107,6 +107,7 @@ export interface ExtensionState { writeDelayMs: number terminalOutputLineLimit?: number mcpEnabled: boolean + enableMcpServerCreation: boolean mode: Mode modeApiConfigs?: Record enhancementApiConfigId?: string diff --git a/src/shared/WebviewMessage.ts b/src/shared/WebviewMessage.ts index 719d25a..5fde75c 100644 --- a/src/shared/WebviewMessage.ts +++ b/src/shared/WebviewMessage.ts @@ -62,6 +62,7 @@ export interface WebviewMessage { | "deleteMessage" | "terminalOutputLineLimit" | "mcpEnabled" + | "enableMcpServerCreation" | "searchCommits" | "refreshGlamaModels" | "alwaysApproveResubmit" diff --git a/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx b/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx index 491a917..8d48a20 100644 --- a/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx +++ b/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx @@ -45,6 +45,7 @@ describe("AutoApproveMenu", () => { filePaths: [], experiments: experimentDefault, customModes: [], + enableMcpServerCreation: false, // Auto-approve specific properties alwaysAllowReadOnly: false, @@ -91,6 +92,7 @@ describe("AutoApproveMenu", () => { setExperimentEnabled: jest.fn(), handleInputChange: jest.fn(), setCustomModes: jest.fn(), + setEnableMcpServerCreation: jest.fn(), } beforeEach(() => { diff --git a/webview-ui/src/components/settings/SettingsView.tsx b/webview-ui/src/components/settings/SettingsView.tsx index c81c372..7c382c2 100644 --- a/webview-ui/src/components/settings/SettingsView.tsx +++ b/webview-ui/src/components/settings/SettingsView.tsx @@ -61,6 +61,8 @@ const SettingsView = ({ onDone }: SettingsViewProps) => { setExperimentEnabled, alwaysAllowModeSwitch, setAlwaysAllowModeSwitch, + enableMcpServerCreation, + setEnableMcpServerCreation, } = useExtensionState() const [apiErrorMessage, setApiErrorMessage] = useState(undefined) const [modelIdErrorMessage, setModelIdErrorMessage] = useState(undefined) @@ -108,6 +110,7 @@ const SettingsView = ({ onDone }: SettingsViewProps) => { }) vscode.postMessage({ type: "alwaysAllowModeSwitch", bool: alwaysAllowModeSwitch }) + vscode.postMessage({ type: "enableMcpServerCreation", bool: enableMcpServerCreation }) onDone() } } @@ -357,6 +360,17 @@ const SettingsView = ({ onDone }: SettingsViewProps) => {

+
+ setEnableMcpServerCreation(e.target.checked)}> + Enable MCP Server Creation + +

+ This option allow user to enable and disable MCP server creation for saved tokens usage +

+
+
void mcpEnabled: boolean setMcpEnabled: (value: boolean) => void + enableMcpServerCreation: boolean + setEnableMcpServerCreation: (value: boolean) => void alwaysApproveResubmit?: boolean setAlwaysApproveResubmit: (value: boolean) => void requestDelaySeconds: number @@ -92,6 +94,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode screenshotQuality: 75, terminalOutputLineLimit: 500, mcpEnabled: true, + enableMcpServerCreation: true, alwaysApproveResubmit: false, requestDelaySeconds: 5, rateLimitSeconds: 0, // Minimum time between successive requests (0 = disabled) @@ -272,6 +275,8 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode setTerminalOutputLineLimit: (value) => setState((prevState) => ({ ...prevState, terminalOutputLineLimit: value })), setMcpEnabled: (value) => setState((prevState) => ({ ...prevState, mcpEnabled: value })), + setEnableMcpServerCreation: (value) => + setState((prevState) => ({ ...prevState, enableMcpServerCreation: value })), setAlwaysApproveResubmit: (value) => setState((prevState) => ({ ...prevState, alwaysApproveResubmit: value })), setRequestDelaySeconds: (value) => setState((prevState) => ({ ...prevState, requestDelaySeconds: value })), setRateLimitSeconds: (value) => setState((prevState) => ({ ...prevState, rateLimitSeconds: value })), From 1c247ed8bc530cf2d02b0f5b3fb0d65c5f637e29 Mon Sep 17 00:00:00 2001 From: sam hoang Date: Sat, 1 Feb 2025 09:59:34 +0700 Subject: [PATCH 35/67] revert not intentional change --- src/core/prompts/sections/mcp-servers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/prompts/sections/mcp-servers.ts b/src/core/prompts/sections/mcp-servers.ts index 8d3265f..3f7ec88 100644 --- a/src/core/prompts/sections/mcp-servers.ts +++ b/src/core/prompts/sections/mcp-servers.ts @@ -98,7 +98,7 @@ weather-server/ ... "type": "module", // added by default, uses ES module syntax (import/export) rather than CommonJS (require/module.exports) (Important to know if you create additional scripts in this server repository like a get-refresh-token.js script) "scripts": { - "build": "tsc && node -e "require('fs').chmodSync('build/index.js', '755')"", + "build": "tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"", ... } ... From 27e864d04ce6ff7b4eaec5bad9c5e5b3bfd69dd9 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 22:13:28 -0500 Subject: [PATCH 36/67] Update webview-ui/src/components/settings/SettingsView.tsx --- webview-ui/src/components/settings/SettingsView.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webview-ui/src/components/settings/SettingsView.tsx b/webview-ui/src/components/settings/SettingsView.tsx index 7c382c2..10cc27b 100644 --- a/webview-ui/src/components/settings/SettingsView.tsx +++ b/webview-ui/src/components/settings/SettingsView.tsx @@ -367,7 +367,7 @@ const SettingsView = ({ onDone }: SettingsViewProps) => { Enable MCP Server Creation

- This option allow user to enable and disable MCP server creation for saved tokens usage + When enabled, Roo can help you create new MCP servers via commands like "add a new tool to...". If you don't need to create MCP servers you can disable this to reduce Roo's token usage.

From ab556286f1d9292ee5eab1c0ed268e5e15d6e6e3 Mon Sep 17 00:00:00 2001 From: sam hoang Date: Sat, 1 Feb 2025 10:49:09 +0700 Subject: [PATCH 37/67] fix: prevent unnecessary config operations when renaming to same name - Add validation in UI to early return when renaming config to current name - Add server-side validation to prevent config save/delete operations --- src/core/webview/ClineProvider.ts | 4 ++++ webview-ui/src/components/settings/ApiConfigManager.tsx | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 3daf0d3..fde49a5 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -1215,6 +1215,10 @@ export class ClineProvider implements vscode.WebviewViewProvider { try { const { oldName, newName } = message.values + if (oldName === newName) { + break + } + await this.configManager.saveConfig(newName, message.apiConfiguration) await this.configManager.deleteConfig(oldName) diff --git a/webview-ui/src/components/settings/ApiConfigManager.tsx b/webview-ui/src/components/settings/ApiConfigManager.tsx index 0ea052d..b10adf4 100644 --- a/webview-ui/src/components/settings/ApiConfigManager.tsx +++ b/webview-ui/src/components/settings/ApiConfigManager.tsx @@ -60,6 +60,11 @@ const ApiConfigManager = ({ if (editState === "new") { onUpsertConfig(trimmedValue) } else if (editState === "rename" && currentApiConfigName) { + if (currentApiConfigName === trimmedValue) { + setEditState(null) + setInputValue("") + return + } onRenameConfig(currentApiConfigName, trimmedValue) } From 0050daf74647e057713ffddc00478df755982d3a Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 22:54:35 -0500 Subject: [PATCH 38/67] Make o3-mini work in glama --- src/api/providers/glama.ts | 51 ++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/src/api/providers/glama.ts b/src/api/providers/glama.ts index a2025ea..bfcb535 100644 --- a/src/api/providers/glama.ts +++ b/src/api/providers/glama.ts @@ -72,28 +72,30 @@ export class GlamaHandler implements ApiHandler, SingleCompletionHandler { maxTokens = 8_192 } + const requestOptions: OpenAI.Chat.ChatCompletionCreateParams = { + model: this.getModel().id, + max_tokens: maxTokens, + messages: openAiMessages, + stream: true, + } + + if (this.supportsTemperature()) { + requestOptions.temperature = 0 + } + const { data: completion, response } = await this.client.chat.completions - .create( - { - model: this.getModel().id, - max_tokens: maxTokens, - temperature: 0, - messages: openAiMessages, - stream: true, + .create(requestOptions, { + headers: { + "X-Glama-Metadata": JSON.stringify({ + labels: [ + { + key: "app", + value: "vscode.rooveterinaryinc.roo-cline", + }, + ], + }), }, - { - headers: { - "X-Glama-Metadata": JSON.stringify({ - labels: [ - { - key: "app", - value: "vscode.rooveterinaryinc.roo-cline", - }, - ], - }), - }, - }, - ) + }) .withResponse() const completionRequestId = response.headers.get("x-completion-request-id") @@ -148,6 +150,10 @@ export class GlamaHandler implements ApiHandler, SingleCompletionHandler { } } + private supportsTemperature(): boolean { + return this.getModel().id !== "openai/o3-mini" + } + getModel(): { id: string; info: ModelInfo } { const modelId = this.options.glamaModelId const modelInfo = this.options.glamaModelInfo @@ -164,7 +170,10 @@ export class GlamaHandler implements ApiHandler, SingleCompletionHandler { const requestOptions: OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming = { model: this.getModel().id, messages: [{ role: "user", content: prompt }], - temperature: 0, + } + + if (this.supportsTemperature()) { + requestOptions.temperature = 0 } if (this.getModel().id.startsWith("anthropic/")) { From 0cd1642612c3e116644bbb4effbcab3b7479e2cf Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 23:19:50 -0500 Subject: [PATCH 39/67] PR feedback --- src/api/providers/glama.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/providers/glama.ts b/src/api/providers/glama.ts index bfcb535..1e8c721 100644 --- a/src/api/providers/glama.ts +++ b/src/api/providers/glama.ts @@ -151,7 +151,7 @@ export class GlamaHandler implements ApiHandler, SingleCompletionHandler { } private supportsTemperature(): boolean { - return this.getModel().id !== "openai/o3-mini" + return !this.getModel().id.startsWith("openai/o3-mini") } getModel(): { id: string; info: ModelInfo } { From 5abf5e3aa6f345679c1acad084c2f81ba58e75d7 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 23:40:43 -0500 Subject: [PATCH 40/67] Move MCP creation checkbox to MCP view --- webview-ui/src/components/mcp/McpView.tsx | 30 ++++++++++++++++++- .../src/components/settings/SettingsView.tsx | 14 --------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/webview-ui/src/components/mcp/McpView.tsx b/webview-ui/src/components/mcp/McpView.tsx index 46db17e..54b7c29 100644 --- a/webview-ui/src/components/mcp/McpView.tsx +++ b/webview-ui/src/components/mcp/McpView.tsx @@ -1,5 +1,6 @@ import { VSCodeButton, + VSCodeCheckbox, VSCodeLink, VSCodePanels, VSCodePanelTab, @@ -18,7 +19,13 @@ type McpViewProps = { } const McpView = ({ onDone }: McpViewProps) => { - const { mcpServers: servers, alwaysAllowMcp, mcpEnabled } = useExtensionState() + const { + mcpServers: servers, + alwaysAllowMcp, + mcpEnabled, + enableMcpServerCreation, + setEnableMcpServerCreation, + } = useExtensionState() return (
{ {mcpEnabled && ( <> +
+ { + setEnableMcpServerCreation(e.target.checked) + vscode.postMessage({ type: "enableMcpServerCreation", bool: e.target.checked }) + }}> + Enable MCP Server Creation + +

+ When enabled, Roo can help you create new MCP servers via commands like "add a new tool + to...". If you don't need to create MCP servers you can disable this to reduce Roo's + token usage. +

+
+ {/* Server List */} {servers.length > 0 && (
diff --git a/webview-ui/src/components/settings/SettingsView.tsx b/webview-ui/src/components/settings/SettingsView.tsx index 10cc27b..c81c372 100644 --- a/webview-ui/src/components/settings/SettingsView.tsx +++ b/webview-ui/src/components/settings/SettingsView.tsx @@ -61,8 +61,6 @@ const SettingsView = ({ onDone }: SettingsViewProps) => { setExperimentEnabled, alwaysAllowModeSwitch, setAlwaysAllowModeSwitch, - enableMcpServerCreation, - setEnableMcpServerCreation, } = useExtensionState() const [apiErrorMessage, setApiErrorMessage] = useState(undefined) const [modelIdErrorMessage, setModelIdErrorMessage] = useState(undefined) @@ -110,7 +108,6 @@ const SettingsView = ({ onDone }: SettingsViewProps) => { }) vscode.postMessage({ type: "alwaysAllowModeSwitch", bool: alwaysAllowModeSwitch }) - vscode.postMessage({ type: "enableMcpServerCreation", bool: enableMcpServerCreation }) onDone() } } @@ -360,17 +357,6 @@ const SettingsView = ({ onDone }: SettingsViewProps) => {

-
- setEnableMcpServerCreation(e.target.checked)}> - Enable MCP Server Creation - -

- When enabled, Roo can help you create new MCP servers via commands like "add a new tool to...". If you don't need to create MCP servers you can disable this to reduce Roo's token usage. -

-
-
Date: Fri, 31 Jan 2025 23:48:33 -0500 Subject: [PATCH 41/67] v3.3.8 --- .changeset/poor-vans-prove.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/poor-vans-prove.md diff --git a/.changeset/poor-vans-prove.md b/.changeset/poor-vans-prove.md new file mode 100644 index 0000000..e9c6f18 --- /dev/null +++ b/.changeset/poor-vans-prove.md @@ -0,0 +1,5 @@ +--- +"roo-cline": patch +--- + +v3.3.8 From f9d3e5b022f29541a059a31370d51b42ae17a075 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 1 Feb 2025 04:50:34 +0000 Subject: [PATCH 42/67] changeset version bump --- .changeset/poor-vans-prove.md | 5 ----- CHANGELOG.md | 6 ++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) delete mode 100644 .changeset/poor-vans-prove.md diff --git a/.changeset/poor-vans-prove.md b/.changeset/poor-vans-prove.md deleted file mode 100644 index e9c6f18..0000000 --- a/.changeset/poor-vans-prove.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"roo-cline": patch ---- - -v3.3.8 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ec5d58..d012e9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Roo Code Changelog +## 3.3.8 + +### Patch Changes + +- v3.3.8 + ## [3.3.7] - Support for o3-mini (thanks @shpigunov!) diff --git a/package-lock.json b/package-lock.json index 78dcbc4..cf70972 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "roo-cline", - "version": "3.3.7", + "version": "3.3.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "roo-cline", - "version": "3.3.7", + "version": "3.3.8", "dependencies": { "@anthropic-ai/bedrock-sdk": "^0.10.2", "@anthropic-ai/sdk": "^0.26.0", diff --git a/package.json b/package.json index a56619f..548c2c3 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "displayName": "Roo Code (prev. Roo Cline)", "description": "A VS Code plugin that enhances coding with AI-powered automation, multi-model support, and experimental features.", "publisher": "RooVeterinaryInc", - "version": "3.3.7", + "version": "3.3.8", "icon": "assets/icons/rocket.png", "galleryBanner": { "color": "#617A91", From 08ae84d989f93566580a713be1d85fae4c7053f7 Mon Sep 17 00:00:00 2001 From: R00-B0T Date: Sat, 1 Feb 2025 04:51:15 +0000 Subject: [PATCH 43/67] Updating CHANGELOG.md format --- CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d012e9c..f5f8595 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,6 @@ # Roo Code Changelog -## 3.3.8 - -### Patch Changes +## [3.3.8] - v3.3.8 From 0a5417e5494b87fe1724624268fa4bc455975fff Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Fri, 31 Jan 2025 23:58:52 -0500 Subject: [PATCH 44/67] Update CHANGELOG.md --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5f8595..dda1f2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,9 @@ ## [3.3.8] -- v3.3.8 +- Fix o3-mini in the Glama provider (thanks @Punkpeye!) +- Add the option to omit instructions for creating MCP servers from the system prompt (thanks @samhvw8!) +- Fix a bug where renaming API profiles without actually changing the name would delete them (thanks @samhvw8!) ## [3.3.7] From aa806fdc17abcfca7cf341fe6289e9f2e707d1ee Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 21:23:07 -0800 Subject: [PATCH 45/67] Extension activation cleanup --- src/activate/handleUri.ts | 32 ++++ src/activate/index.ts | 3 + src/activate/registerCodeActions.ts | 91 ++++++++++ src/activate/registerCommands.ts | 83 ++++++++++ src/core/CodeActionProvider.ts | 2 +- src/extension.ts | 247 ++++------------------------ 6 files changed, 246 insertions(+), 212 deletions(-) create mode 100644 src/activate/handleUri.ts create mode 100644 src/activate/index.ts create mode 100644 src/activate/registerCodeActions.ts create mode 100644 src/activate/registerCommands.ts diff --git a/src/activate/handleUri.ts b/src/activate/handleUri.ts new file mode 100644 index 0000000..05440c7 --- /dev/null +++ b/src/activate/handleUri.ts @@ -0,0 +1,32 @@ +import * as vscode from "vscode" + +import { ClineProvider } from "../core/webview/ClineProvider" + +export const handleUri = async (uri: vscode.Uri) => { + const path = uri.path + const query = new URLSearchParams(uri.query.replace(/\+/g, "%2B")) + const visibleProvider = ClineProvider.getVisibleInstance() + + if (!visibleProvider) { + return + } + + switch (path) { + case "/glama": { + const code = query.get("code") + if (code) { + await visibleProvider.handleGlamaCallback(code) + } + break + } + case "/openrouter": { + const code = query.get("code") + if (code) { + await visibleProvider.handleOpenRouterCallback(code) + } + break + } + default: + break + } +} diff --git a/src/activate/index.ts b/src/activate/index.ts new file mode 100644 index 0000000..76eebd1 --- /dev/null +++ b/src/activate/index.ts @@ -0,0 +1,3 @@ +export { handleUri } from "./handleUri" +export { registerCommands } from "./registerCommands" +export { registerCodeActions } from "./registerCodeActions" diff --git a/src/activate/registerCodeActions.ts b/src/activate/registerCodeActions.ts new file mode 100644 index 0000000..35e0766 --- /dev/null +++ b/src/activate/registerCodeActions.ts @@ -0,0 +1,91 @@ +import * as vscode from "vscode" + +import { ACTION_NAMES, COMMAND_IDS } from "../core/CodeActionProvider" +import { EditorUtils } from "../core/EditorUtils" +import { ClineProvider } from "../core/webview/ClineProvider" + +export const registerCodeActions = (context: vscode.ExtensionContext) => { + registerCodeActionPair( + context, + COMMAND_IDS.EXPLAIN, + "EXPLAIN", + "What would you like Roo to explain?", + "E.g. How does the error handling work?", + ) + + registerCodeActionPair( + context, + COMMAND_IDS.FIX, + "FIX", + "What would you like Roo to fix?", + "E.g. Maintain backward compatibility", + ) + + registerCodeActionPair( + context, + COMMAND_IDS.IMPROVE, + "IMPROVE", + "What would you like Roo to improve?", + "E.g. Focus on performance optimization", + ) + + registerCodeAction(context, COMMAND_IDS.ADD_TO_CONTEXT, "ADD_TO_CONTEXT") +} + +const registerCodeAction = ( + context: vscode.ExtensionContext, + command: string, + promptType: keyof typeof ACTION_NAMES, + inputPrompt?: string, + inputPlaceholder?: string, +) => { + let userInput: string | undefined + + context.subscriptions.push( + vscode.commands.registerCommand(command, async (...args: any[]) => { + if (inputPrompt) { + userInput = await vscode.window.showInputBox({ + prompt: inputPrompt, + placeHolder: inputPlaceholder, + }) + } + + // Handle both code action and direct command cases. + let filePath: string + let selectedText: string + let diagnostics: any[] | undefined + + if (args.length > 1) { + // Called from code action. + ;[filePath, selectedText, diagnostics] = args + } else { + // Called directly from command palette. + const context = EditorUtils.getEditorContext() + if (!context) return + ;({ filePath, selectedText, diagnostics } = context) + } + + const params = { + ...{ filePath, selectedText }, + ...(diagnostics ? { diagnostics } : {}), + ...(userInput ? { userInput } : {}), + } + + await ClineProvider.handleCodeAction(command, promptType, params) + }), + ) +} + +const registerCodeActionPair = ( + context: vscode.ExtensionContext, + baseCommand: string, + promptType: keyof typeof ACTION_NAMES, + inputPrompt?: string, + inputPlaceholder?: string, +) => { + // Register new task version. + registerCodeAction(context, baseCommand, promptType, inputPrompt, inputPlaceholder) + + // Register current task version. + registerCodeAction(context, `${baseCommand}InCurrentTask`, promptType, inputPrompt, inputPlaceholder) +} diff --git a/src/activate/registerCommands.ts b/src/activate/registerCommands.ts new file mode 100644 index 0000000..fa650c6 --- /dev/null +++ b/src/activate/registerCommands.ts @@ -0,0 +1,83 @@ +import * as vscode from "vscode" +import delay from "delay" + +import { ClineProvider } from "../core/webview/ClineProvider" + +export type RegisterCommandOptions = { + context: vscode.ExtensionContext + outputChannel: vscode.OutputChannel + provider: ClineProvider +} + +export const registerCommands = (options: RegisterCommandOptions) => { + const { context, outputChannel } = options + + for (const [command, callback] of Object.entries(getCommandsMap(options))) { + context.subscriptions.push(vscode.commands.registerCommand(command, callback)) + } +} + +const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOptions) => { + return { + "roo-cline.plusButtonClicked": async () => { + await provider.clearTask() + await provider.postStateToWebview() + await provider.postMessageToWebview({ type: "action", action: "chatButtonClicked" }) + }, + "roo-cline.mcpButtonClicked": () => { + provider.postMessageToWebview({ type: "action", action: "mcpButtonClicked" }) + }, + "roo-cline.promptsButtonClicked": () => { + provider.postMessageToWebview({ type: "action", action: "promptsButtonClicked" }) + }, + "roo-cline.popoutButtonClicked": () => openClineInNewTab({ context, outputChannel }), + "roo-cline.openInNewTab": () => openClineInNewTab({ context, outputChannel }), + "roo-cline.settingsButtonClicked": () => { + provider.postMessageToWebview({ type: "action", action: "settingsButtonClicked" }) + }, + "roo-cline.historyButtonClicked": () => { + provider.postMessageToWebview({ type: "action", action: "historyButtonClicked" }) + }, + } +} + +const openClineInNewTab = async ({ context, outputChannel }: Omit) => { + outputChannel.appendLine("Opening Roo Code in new tab") + + // (This example uses webviewProvider activation event which is necessary to + // deserialize cached webview, but since we use retainContextWhenHidden, we + // don't need to use that event). + // https://github.com/microsoft/vscode-extension-samples/blob/main/webview-sample/src/extension.ts + const tabProvider = new ClineProvider(context, outputChannel) + // const column = vscode.window.activeTextEditor ? vscode.window.activeTextEditor.viewColumn : undefined + const lastCol = Math.max(...vscode.window.visibleTextEditors.map((editor) => editor.viewColumn || 0)) + + // Check if there are any visible text editors, otherwise open a new group + // to the right. + const hasVisibleEditors = vscode.window.visibleTextEditors.length > 0 + + if (!hasVisibleEditors) { + await vscode.commands.executeCommand("workbench.action.newGroupRight") + } + + const targetCol = hasVisibleEditors ? Math.max(lastCol + 1, 1) : vscode.ViewColumn.Two + + const panel = vscode.window.createWebviewPanel(ClineProvider.tabPanelId, "Roo Code", targetCol, { + enableScripts: true, + retainContextWhenHidden: true, + localResourceRoots: [context.extensionUri], + }) + + // TODO: use better svg icon with light and dark variants (see + // https://stackoverflow.com/questions/58365687/vscode-extension-iconpath). + panel.iconPath = { + light: vscode.Uri.joinPath(context.extensionUri, "assets", "icons", "rocket.png"), + dark: vscode.Uri.joinPath(context.extensionUri, "assets", "icons", "rocket.png"), + } + + tabProvider.resolveWebviewView(panel) + + // Lock the editor group so clicking on files doesn't open them over the panel + await delay(100) + await vscode.commands.executeCommand("workbench.action.lockEditorGroup") +} diff --git a/src/core/CodeActionProvider.ts b/src/core/CodeActionProvider.ts index 0754c1a..285e6da 100644 --- a/src/core/CodeActionProvider.ts +++ b/src/core/CodeActionProvider.ts @@ -9,7 +9,7 @@ export const ACTION_NAMES = { ADD_TO_CONTEXT: "Roo Code: Add to Context", } as const -const COMMAND_IDS = { +export const COMMAND_IDS = { EXPLAIN: "roo-cline.explainCode", FIX: "roo-cline.fixCode", IMPROVE: "roo-cline.improveCode", diff --git a/src/extension.ts b/src/extension.ts index 719f38d..39f3d90 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,37 +1,33 @@ -// The module 'vscode' contains the VS Code extensibility API -// Import the module and reference it with the alias vscode in your code below -import delay from "delay" import * as vscode from "vscode" + import { ClineProvider } from "./core/webview/ClineProvider" import { createClineAPI } from "./exports" -import "./utils/path" // necessary to have access to String.prototype.toPosix -import { ACTION_NAMES, CodeActionProvider } from "./core/CodeActionProvider" -import { EditorUtils } from "./core/EditorUtils" +import "./utils/path" // Necessary to have access to String.prototype.toPosix. +import { CodeActionProvider } from "./core/CodeActionProvider" import { DIFF_VIEW_URI_SCHEME } from "./integrations/editor/DiffViewProvider" +import { handleUri, registerCommands, registerCodeActions } from "./activate" -/* -Built using https://github.com/microsoft/vscode-webview-ui-toolkit - -Inspired by -https://github.com/microsoft/vscode-webview-ui-toolkit-samples/tree/main/default/weather-webview -https://github.com/microsoft/vscode-webview-ui-toolkit-samples/tree/main/frameworks/hello-world-react-cra - -*/ +/** + * Built using https://github.com/microsoft/vscode-webview-ui-toolkit + * + * Inspired by: + * - https://github.com/microsoft/vscode-webview-ui-toolkit-samples/tree/main/default/weather-webview + * - https://github.com/microsoft/vscode-webview-ui-toolkit-samples/tree/main/frameworks/hello-world-react-cra + */ let outputChannel: vscode.OutputChannel -// This method is called when your extension is activated -// Your extension is activated the very first time the command is executed +// This method is called when your extension is activated. +// Your extension is activated the very first time the command is executed. export function activate(context: vscode.ExtensionContext) { outputChannel = vscode.window.createOutputChannel("Roo-Code") context.subscriptions.push(outputChannel) - outputChannel.appendLine("Roo-Code extension activated") - // Get default commands from configuration + // Get default commands from configuration. const defaultCommands = vscode.workspace.getConfiguration("roo-cline").get("allowedCommands") || [] - // Initialize global state if not already set + // Initialize global state if not already set. if (!context.globalState.get("allowedCommands")) { context.globalState.update("allowedCommands", defaultCommands) } @@ -44,220 +40,49 @@ export function activate(context: vscode.ExtensionContext) { }), ) - context.subscriptions.push( - vscode.commands.registerCommand("roo-cline.plusButtonClicked", async () => { - outputChannel.appendLine("Plus button Clicked") - await sidebarProvider.clearTask() - await sidebarProvider.postStateToWebview() - await sidebarProvider.postMessageToWebview({ type: "action", action: "chatButtonClicked" }) - }), - ) + registerCommands({ context, outputChannel, provider: sidebarProvider }) - context.subscriptions.push( - vscode.commands.registerCommand("roo-cline.mcpButtonClicked", () => { - sidebarProvider.postMessageToWebview({ type: "action", action: "mcpButtonClicked" }) - }), - ) - - context.subscriptions.push( - vscode.commands.registerCommand("roo-cline.promptsButtonClicked", () => { - sidebarProvider.postMessageToWebview({ type: "action", action: "promptsButtonClicked" }) - }), - ) - - const openClineInNewTab = async () => { - outputChannel.appendLine("Opening Roo Code in new tab") - // (this example uses webviewProvider activation event which is necessary to deserialize cached webview, but since we use retainContextWhenHidden, we don't need to use that event) - // https://github.com/microsoft/vscode-extension-samples/blob/main/webview-sample/src/extension.ts - const tabProvider = new ClineProvider(context, outputChannel) - //const column = vscode.window.activeTextEditor ? vscode.window.activeTextEditor.viewColumn : undefined - const lastCol = Math.max(...vscode.window.visibleTextEditors.map((editor) => editor.viewColumn || 0)) - - // Check if there are any visible text editors, otherwise open a new group to the right - const hasVisibleEditors = vscode.window.visibleTextEditors.length > 0 - if (!hasVisibleEditors) { - await vscode.commands.executeCommand("workbench.action.newGroupRight") - } - const targetCol = hasVisibleEditors ? Math.max(lastCol + 1, 1) : vscode.ViewColumn.Two - - const panel = vscode.window.createWebviewPanel(ClineProvider.tabPanelId, "Roo Code", targetCol, { - enableScripts: true, - retainContextWhenHidden: true, - localResourceRoots: [context.extensionUri], - }) - // TODO: use better svg icon with light and dark variants (see https://stackoverflow.com/questions/58365687/vscode-extension-iconpath) - - panel.iconPath = { - light: vscode.Uri.joinPath(context.extensionUri, "assets", "icons", "rocket.png"), - dark: vscode.Uri.joinPath(context.extensionUri, "assets", "icons", "rocket.png"), - } - tabProvider.resolveWebviewView(panel) - - // Lock the editor group so clicking on files doesn't open them over the panel - await delay(100) - await vscode.commands.executeCommand("workbench.action.lockEditorGroup") - } - - context.subscriptions.push(vscode.commands.registerCommand("roo-cline.popoutButtonClicked", openClineInNewTab)) - context.subscriptions.push(vscode.commands.registerCommand("roo-cline.openInNewTab", openClineInNewTab)) - - context.subscriptions.push( - vscode.commands.registerCommand("roo-cline.settingsButtonClicked", () => { - //vscode.window.showInformationMessage(message) - sidebarProvider.postMessageToWebview({ type: "action", action: "settingsButtonClicked" }) - }), - ) - - context.subscriptions.push( - vscode.commands.registerCommand("roo-cline.historyButtonClicked", () => { - sidebarProvider.postMessageToWebview({ type: "action", action: "historyButtonClicked" }) - }), - ) - - /* - We use the text document content provider API to show the left side for diff view by creating a virtual document for the original content. This makes it readonly so users know to edit the right side if they want to keep their changes. - - - This API allows you to create readonly documents in VSCode from arbitrary sources, and works by claiming an uri-scheme for which your provider then returns text contents. The scheme must be provided when registering a provider and cannot change afterwards. - - Note how the provider doesn't create uris for virtual documents - its role is to provide contents given such an uri. In return, content providers are wired into the open document logic so that providers are always considered. - https://code.visualstudio.com/api/extension-guides/virtual-documents - */ + /** + * We use the text document content provider API to show the left side for diff + * view by creating a virtual document for the original content. This makes it + * readonly so users know to edit the right side if they want to keep their changes. + * + * This API allows you to create readonly documents in VSCode from arbitrary + * sources, and works by claiming an uri-scheme for which your provider then + * returns text contents. The scheme must be provided when registering a + * provider and cannot change afterwards. + * + * Note how the provider doesn't create uris for virtual documents - its role + * is to provide contents given such an uri. In return, content providers are + * wired into the open document logic so that providers are always considered. + * + * https://code.visualstudio.com/api/extension-guides/virtual-documents + */ const diffContentProvider = new (class implements vscode.TextDocumentContentProvider { provideTextDocumentContent(uri: vscode.Uri): string { return Buffer.from(uri.query, "base64").toString("utf-8") } })() + context.subscriptions.push( vscode.workspace.registerTextDocumentContentProvider(DIFF_VIEW_URI_SCHEME, diffContentProvider), ) - // URI Handler - const handleUri = async (uri: vscode.Uri) => { - const path = uri.path - const query = new URLSearchParams(uri.query.replace(/\+/g, "%2B")) - const visibleProvider = ClineProvider.getVisibleInstance() - if (!visibleProvider) { - return - } - switch (path) { - case "/glama": { - const code = query.get("code") - if (code) { - await visibleProvider.handleGlamaCallback(code) - } - break - } - - case "/openrouter": { - const code = query.get("code") - if (code) { - await visibleProvider.handleOpenRouterCallback(code) - } - break - } - default: - break - } - } context.subscriptions.push(vscode.window.registerUriHandler({ handleUri })) - // Register code actions provider + // Register code actions provider. context.subscriptions.push( vscode.languages.registerCodeActionsProvider({ pattern: "**/*" }, new CodeActionProvider(), { providedCodeActionKinds: CodeActionProvider.providedCodeActionKinds, }), ) - // Helper function to handle code actions - const registerCodeAction = ( - context: vscode.ExtensionContext, - command: string, - promptType: keyof typeof ACTION_NAMES, - inputPrompt?: string, - inputPlaceholder?: string, - ) => { - let userInput: string | undefined - - context.subscriptions.push( - vscode.commands.registerCommand(command, async (...args: any[]) => { - if (inputPrompt) { - userInput = await vscode.window.showInputBox({ - prompt: inputPrompt, - placeHolder: inputPlaceholder, - }) - } - - // Handle both code action and direct command cases - let filePath: string - let selectedText: string - let diagnostics: any[] | undefined - - if (args.length > 1) { - // Called from code action - ;[filePath, selectedText, diagnostics] = args - } else { - // Called directly from command palette - const context = EditorUtils.getEditorContext() - if (!context) return - ;({ filePath, selectedText, diagnostics } = context) - } - - const params = { - ...{ filePath, selectedText }, - ...(diagnostics ? { diagnostics } : {}), - ...(userInput ? { userInput } : {}), - } - - await ClineProvider.handleCodeAction(command, promptType, params) - }), - ) - } - - // Helper function to register both versions of a code action - const registerCodeActionPair = ( - context: vscode.ExtensionContext, - baseCommand: string, - promptType: keyof typeof ACTION_NAMES, - inputPrompt?: string, - inputPlaceholder?: string, - ) => { - // Register new task version - registerCodeAction(context, baseCommand, promptType, inputPrompt, inputPlaceholder) - - // Register current task version - registerCodeAction(context, `${baseCommand}InCurrentTask`, promptType, inputPrompt, inputPlaceholder) - } - - // Register code action commands - registerCodeActionPair( - context, - "roo-cline.explainCode", - "EXPLAIN", - "What would you like Roo to explain?", - "E.g. How does the error handling work?", - ) - - registerCodeActionPair( - context, - "roo-cline.fixCode", - "FIX", - "What would you like Roo to fix?", - "E.g. Maintain backward compatibility", - ) - - registerCodeActionPair( - context, - "roo-cline.improveCode", - "IMPROVE", - "What would you like Roo to improve?", - "E.g. Focus on performance optimization", - ) - - registerCodeAction(context, "roo-cline.addToContext", "ADD_TO_CONTEXT") + registerCodeActions(context) return createClineAPI(outputChannel, sidebarProvider) } -// This method is called when your extension is deactivated +// This method is called when your extension is deactivated. export function deactivate() { outputChannel.appendLine("Roo-Code extension deactivated") } From b7cd98da5467c1acbe557152ecd51481ed119c8e Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 21:44:50 -0800 Subject: [PATCH 46/67] Don't run the `integration-test` job if there's no API key --- .github/workflows/code-qa.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index f17a648..6f23421 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -44,6 +44,7 @@ jobs: run: npm test integration-test: + if: "${{ secrets.OPENROUTER_API_KEY != '' }}" strategy: matrix: os: [ubuntu-latest] # macos-latest, windows-latest From 17fb94cb1b3ee92228e0edc67b4a50cc01ac71fd Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 21:50:06 -0800 Subject: [PATCH 47/67] Secrets can't be used in conditionals, apparently --- .github/workflows/code-qa.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index 6f23421..0ff0ff1 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -44,7 +44,10 @@ jobs: run: npm test integration-test: - if: "${{ secrets.OPENROUTER_API_KEY != '' }}" + # https://stackoverflow.com/questions/72925899/github-actions-detect-if-secret-exists + env: + OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }} + if: ${{ env.OPENROUTER_API_KEY != '' }} strategy: matrix: os: [ubuntu-latest] # macos-latest, windows-latest @@ -59,8 +62,6 @@ jobs: cache: 'npm' - name: Create env.integration file run: echo "OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }}" > .env.integration - - name: Check env.integration file - run: cat .env.integration - name: Install dependencies run: npm run install:all - run: xvfb-run -a npm run test:integration From d047c8beae31525e86db373cbd7fe536a7a66481 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 1 Feb 2025 00:47:46 -0500 Subject: [PATCH 48/67] Add o3-mini-high and o3-mini-low --- .changeset/kind-balloons-grin.md | 5 +++++ .../providers/__tests__/openai-native.test.ts | 2 +- src/api/providers/openai-native.ts | 17 ++++++++++++++-- src/shared/api.ts | 20 +++++++++++++++++++ 4 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 .changeset/kind-balloons-grin.md diff --git a/.changeset/kind-balloons-grin.md b/.changeset/kind-balloons-grin.md new file mode 100644 index 0000000..889beae --- /dev/null +++ b/.changeset/kind-balloons-grin.md @@ -0,0 +1,5 @@ +--- +"roo-cline": patch +--- + +Add o3-mini-high and o3-mini-low diff --git a/src/api/providers/__tests__/openai-native.test.ts b/src/api/providers/__tests__/openai-native.test.ts index 4488bd3..356f18c 100644 --- a/src/api/providers/__tests__/openai-native.test.ts +++ b/src/api/providers/__tests__/openai-native.test.ts @@ -300,7 +300,7 @@ describe("OpenAiNativeHandler", () => { expect(mockCreate).toHaveBeenCalledWith({ model: "o3-mini", messages: [{ role: "user", content: "Test prompt" }], - temperature: 0, + reasoning_effort: "medium", }) }) diff --git a/src/api/providers/openai-native.ts b/src/api/providers/openai-native.ts index 4c90496..b2f5237 100644 --- a/src/api/providers/openai-native.ts +++ b/src/api/providers/openai-native.ts @@ -48,12 +48,15 @@ export class OpenAiNativeHandler implements ApiHandler, SingleCompletionHandler } break } - case "o3-mini": { + case "o3-mini": + case "o3-mini-low": + case "o3-mini-high": { const stream = await this.client.chat.completions.create({ - model: this.getModel().id, + model: "o3-mini", messages: [{ role: "developer", content: systemPrompt }, ...convertToOpenAiMessages(messages)], stream: true, stream_options: { include_usage: true }, + reasoning_effort: this.getModel().info.reasoningEffort, }) for await (const chunk of stream) { @@ -132,6 +135,16 @@ export class OpenAiNativeHandler implements ApiHandler, SingleCompletionHandler messages: [{ role: "user", content: prompt }], } break + case "o3-mini": + case "o3-mini-low": + case "o3-mini-high": + // o3 doesn't support non-1 temp + requestOptions = { + model: "o3-mini", + messages: [{ role: "user", content: prompt }], + reasoning_effort: this.getModel().info.reasoningEffort, + } + break default: requestOptions = { model: modelId, diff --git a/src/shared/api.ts b/src/shared/api.ts index 7da67fd..6e655de 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -80,6 +80,7 @@ export interface ModelInfo { cacheWritesPrice?: number cacheReadsPrice?: number description?: string + reasoningEffort?: "low" | "medium" | "high" } // Anthropic @@ -517,6 +518,25 @@ export const openAiNativeModels = { supportsPromptCache: false, inputPrice: 1.1, outputPrice: 4.4, + reasoningEffort: "medium", + }, + "o3-mini-high": { + maxTokens: 100_000, + contextWindow: 200_000, + supportsImages: false, + supportsPromptCache: false, + inputPrice: 1.1, + outputPrice: 4.4, + reasoningEffort: "high", + }, + "o3-mini-low": { + maxTokens: 100_000, + contextWindow: 200_000, + supportsImages: false, + supportsPromptCache: false, + inputPrice: 1.1, + outputPrice: 4.4, + reasoningEffort: "low", }, o1: { maxTokens: 100_000, From 2c98c5586f6f4468327fe273001343e012ad4018 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 1 Feb 2025 05:55:59 +0000 Subject: [PATCH 49/67] changeset version bump --- .changeset/kind-balloons-grin.md | 5 ----- CHANGELOG.md | 6 ++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) delete mode 100644 .changeset/kind-balloons-grin.md diff --git a/.changeset/kind-balloons-grin.md b/.changeset/kind-balloons-grin.md deleted file mode 100644 index 889beae..0000000 --- a/.changeset/kind-balloons-grin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"roo-cline": patch ---- - -Add o3-mini-high and o3-mini-low diff --git a/CHANGELOG.md b/CHANGELOG.md index dda1f2b..a17ac88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Roo Code Changelog +## 3.3.9 + +### Patch Changes + +- Add o3-mini-high and o3-mini-low + ## [3.3.8] - Fix o3-mini in the Glama provider (thanks @Punkpeye!) diff --git a/package-lock.json b/package-lock.json index cf70972..eecc0e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "roo-cline", - "version": "3.3.8", + "version": "3.3.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "roo-cline", - "version": "3.3.8", + "version": "3.3.9", "dependencies": { "@anthropic-ai/bedrock-sdk": "^0.10.2", "@anthropic-ai/sdk": "^0.26.0", diff --git a/package.json b/package.json index 548c2c3..a95ace9 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "displayName": "Roo Code (prev. Roo Cline)", "description": "A VS Code plugin that enhances coding with AI-powered automation, multi-model support, and experimental features.", "publisher": "RooVeterinaryInc", - "version": "3.3.8", + "version": "3.3.9", "icon": "assets/icons/rocket.png", "galleryBanner": { "color": "#617A91", From 1683ff82f1e5d031a289feb0c5f5687af45c928b Mon Sep 17 00:00:00 2001 From: R00-B0T Date: Sat, 1 Feb 2025 05:56:41 +0000 Subject: [PATCH 50/67] Updating CHANGELOG.md format --- CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a17ac88..8fd17bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,6 @@ # Roo Code Changelog -## 3.3.9 - -### Patch Changes +## [3.3.9] - Add o3-mini-high and o3-mini-low From de7f67f71ec7651ec61ded813377480c0dea40fb Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 22:03:33 -0800 Subject: [PATCH 51/67] One more attempt --- .github/workflows/code-qa.yml | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index 0ff0ff1..614db61 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -43,15 +43,25 @@ jobs: - name: Run unit tests run: npm test + check-openrouter-api-key: + runs-on: ubuntu-latest + outputs: + exists: ${{ steps.openrouter-api-key-check.outputs.defined }} + steps: + - name: Check if OPENROUTER_API_KEY exists + id: openrouter-api-key-check + shell: bash + run: | + if [ "${{ secrets.OPENROUTER_API_KEY }}" != '' ]; then + echo "defined=true" >> $GITHUB_OUTPUT; + else + echo "defined=false" >> $GITHUB_OUTPUT; + fi + integration-test: - # https://stackoverflow.com/questions/72925899/github-actions-detect-if-secret-exists - env: - OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }} - if: ${{ env.OPENROUTER_API_KEY != '' }} - strategy: - matrix: - os: [ubuntu-latest] # macos-latest, windows-latest - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest + needs: [check-openrouter-api-key] + if: needs.check-openrouter-api-key.outputs.exists == 'true' steps: - name: Checkout code uses: actions/checkout@v4 @@ -64,7 +74,5 @@ jobs: run: echo "OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }}" > .env.integration - name: Install dependencies run: npm run install:all - - run: xvfb-run -a npm run test:integration - if: runner.os == 'Linux' - - run: npm run test:integration - if: runner.os != 'Linux' + - name: Run integration tests + run: xvfb-run -a npm run test:integration From ab2dd09ac666e03bdb8c02fff775b244ad22afe6 Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 22:06:25 -0800 Subject: [PATCH 52/67] Test what happens if the secret does not exist --- .github/workflows/code-qa.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index 614db61..67ef540 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -48,11 +48,11 @@ jobs: outputs: exists: ${{ steps.openrouter-api-key-check.outputs.defined }} steps: - - name: Check if OPENROUTER_API_KEY exists + - name: Check if OpenRouter API key exists id: openrouter-api-key-check shell: bash run: | - if [ "${{ secrets.OPENROUTER_API_KEY }}" != '' ]; then + if [ "${{ secrets.XOPENROUTER_API_KEY }}" != '' ]; then echo "defined=true" >> $GITHUB_OUTPUT; else echo "defined=false" >> $GITHUB_OUTPUT; From 5c8df598897d48ddd1e60ef62314481203be6f38 Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 22:08:02 -0800 Subject: [PATCH 53/67] Confirmed that `check-openrouter-api-key` works; remove debugging --- .github/workflows/code-qa.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/code-qa.yml b/.github/workflows/code-qa.yml index 67ef540..0636708 100644 --- a/.github/workflows/code-qa.yml +++ b/.github/workflows/code-qa.yml @@ -52,7 +52,7 @@ jobs: id: openrouter-api-key-check shell: bash run: | - if [ "${{ secrets.XOPENROUTER_API_KEY }}" != '' ]; then + if [ "${{ secrets.OPENROUTER_API_KEY }}" != '' ]; then echo "defined=true" >> $GITHUB_OUTPUT; else echo "defined=false" >> $GITHUB_OUTPUT; From 03b7763d5317d7cac8dd16d81f6c667f942f1ab1 Mon Sep 17 00:00:00 2001 From: cte Date: Fri, 31 Jan 2025 22:33:03 -0800 Subject: [PATCH 54/67] Fix vscrui double scrollbar in Dropdown --- webview-ui/src/index.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/webview-ui/src/index.css b/webview-ui/src/index.css index 1ab1204..c9ac794 100644 --- a/webview-ui/src/index.css +++ b/webview-ui/src/index.css @@ -264,3 +264,11 @@ vscode-dropdown::part(listbox) { border-radius: 3px; box-shadow: 0 0 0 0.5px color-mix(in srgb, var(--vscode-badge-foreground) 30%, transparent); } + +/** + * vscrui Overrides / Hacks + */ + +.vscrui-checkbox__listbox > ul { + max-height: unset !important; +} From 18e1bbf00d0e1f2b6cfec13b72ab080c56d2b45a Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Sat, 1 Feb 2025 12:06:54 +0200 Subject: [PATCH 55/67] fix: Update pricing for OpenAI o1-mini Together with o3-mini release, OpenAI reduced the price of o1-mini to match it. --- src/shared/api.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shared/api.ts b/src/shared/api.ts index 6e655de..451c365 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -559,8 +559,8 @@ export const openAiNativeModels = { contextWindow: 128_000, supportsImages: true, supportsPromptCache: false, - inputPrice: 3, - outputPrice: 12, + inputPrice: 1.1, + outputPrice: 4.4, }, "gpt-4o": { maxTokens: 4_096, From 90ba9e18e135e926494a4cfc41f7723f66a147dd Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 1 Feb 2025 11:16:21 -0500 Subject: [PATCH 56/67] Remove annoying test --- .../chat/__tests__/AutoApproveMenu.test.tsx | 212 ------------------ 1 file changed, 212 deletions(-) delete mode 100644 webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx diff --git a/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx b/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx deleted file mode 100644 index 8d48a20..0000000 --- a/webview-ui/src/components/chat/__tests__/AutoApproveMenu.test.tsx +++ /dev/null @@ -1,212 +0,0 @@ -import { render, fireEvent, screen } from "@testing-library/react" -import { useExtensionState } from "../../../context/ExtensionStateContext" -import AutoApproveMenu from "../AutoApproveMenu" -import { defaultModeSlug, defaultPrompts } from "../../../../../src/shared/modes" -import { experimentDefault } from "../../../../../src/shared/experiments" - -// Mock the ExtensionStateContext hook -jest.mock("../../../context/ExtensionStateContext") - -const mockUseExtensionState = useExtensionState as jest.MockedFunction - -describe("AutoApproveMenu", () => { - const defaultMockState = { - // Required state properties - version: "1.0.0", - clineMessages: [], - taskHistory: [], - shouldShowAnnouncement: false, - allowedCommands: [], - soundEnabled: false, - soundVolume: 0.5, - diffEnabled: false, - fuzzyMatchThreshold: 1.0, - preferredLanguage: "English", - writeDelayMs: 1000, - browserViewportSize: "900x600", - screenshotQuality: 75, - terminalOutputLineLimit: 500, - mcpEnabled: true, - requestDelaySeconds: 5, - rateLimitSeconds: 0, - currentApiConfigName: "default", - listApiConfigMeta: [], - mode: defaultModeSlug, - customModePrompts: defaultPrompts, - customSupportPrompts: {}, - enhancementApiConfigId: "", - didHydrateState: true, - showWelcome: false, - theme: {}, - glamaModels: {}, - openRouterModels: {}, - openAiModels: [], - mcpServers: [], - filePaths: [], - experiments: experimentDefault, - customModes: [], - enableMcpServerCreation: false, - - // Auto-approve specific properties - alwaysAllowReadOnly: false, - alwaysAllowWrite: false, - alwaysAllowExecute: false, - alwaysAllowBrowser: false, - alwaysAllowMcp: false, - alwaysApproveResubmit: false, - alwaysAllowModeSwitch: false, - autoApprovalEnabled: false, - - // Required setter functions - setApiConfiguration: jest.fn(), - setCustomInstructions: jest.fn(), - setAlwaysAllowReadOnly: jest.fn(), - setAlwaysAllowWrite: jest.fn(), - setAlwaysAllowExecute: jest.fn(), - setAlwaysAllowBrowser: jest.fn(), - setAlwaysAllowMcp: jest.fn(), - setAlwaysAllowModeSwitch: jest.fn(), - setShowAnnouncement: jest.fn(), - setAllowedCommands: jest.fn(), - setSoundEnabled: jest.fn(), - setSoundVolume: jest.fn(), - setDiffEnabled: jest.fn(), - setBrowserViewportSize: jest.fn(), - setFuzzyMatchThreshold: jest.fn(), - setPreferredLanguage: jest.fn(), - setWriteDelayMs: jest.fn(), - setScreenshotQuality: jest.fn(), - setTerminalOutputLineLimit: jest.fn(), - setMcpEnabled: jest.fn(), - setAlwaysApproveResubmit: jest.fn(), - setRequestDelaySeconds: jest.fn(), - setRateLimitSeconds: jest.fn(), - setCurrentApiConfigName: jest.fn(), - setListApiConfigMeta: jest.fn(), - onUpdateApiConfig: jest.fn(), - setMode: jest.fn(), - setCustomModePrompts: jest.fn(), - setCustomSupportPrompts: jest.fn(), - setEnhancementApiConfigId: jest.fn(), - setAutoApprovalEnabled: jest.fn(), - setExperimentEnabled: jest.fn(), - handleInputChange: jest.fn(), - setCustomModes: jest.fn(), - setEnableMcpServerCreation: jest.fn(), - } - - beforeEach(() => { - mockUseExtensionState.mockReturnValue(defaultMockState) - }) - - afterEach(() => { - jest.clearAllMocks() - }) - - it("renders with initial collapsed state", () => { - render() - - // Check for main checkbox and label - expect(screen.getByText("Auto-approve:")).toBeInTheDocument() - expect(screen.getByText("None")).toBeInTheDocument() - - // Verify the menu is collapsed (actions not visible) - expect(screen.queryByText("Read files and directories")).not.toBeInTheDocument() - }) - - it("expands menu when clicked", () => { - render() - - // Click to expand - fireEvent.click(screen.getByText("Auto-approve:")) - - // Verify menu items are visible - expect(screen.getByText("Read files and directories")).toBeInTheDocument() - expect(screen.getByText("Edit files")).toBeInTheDocument() - expect(screen.getByText("Execute approved commands")).toBeInTheDocument() - expect(screen.getByText("Use the browser")).toBeInTheDocument() - expect(screen.getByText("Use MCP servers")).toBeInTheDocument() - expect(screen.getByText("Retry failed requests")).toBeInTheDocument() - }) - - it("toggles main auto-approval checkbox", () => { - render() - - const mainCheckbox = screen.getByRole("checkbox") - fireEvent.click(mainCheckbox) - - expect(defaultMockState.setAutoApprovalEnabled).toHaveBeenCalledWith(true) - }) - - it("toggles individual permissions", () => { - render() - - // Expand menu - fireEvent.click(screen.getByText("Auto-approve:")) - - // Click read files checkbox - fireEvent.click(screen.getByText("Read files and directories")) - expect(defaultMockState.setAlwaysAllowReadOnly).toHaveBeenCalledWith(true) - - // Click edit files checkbox - fireEvent.click(screen.getByText("Edit files")) - expect(defaultMockState.setAlwaysAllowWrite).toHaveBeenCalledWith(true) - - // Click execute commands checkbox - fireEvent.click(screen.getByText("Execute approved commands")) - expect(defaultMockState.setAlwaysAllowExecute).toHaveBeenCalledWith(true) - }) - - it("displays enabled actions in summary", () => { - mockUseExtensionState.mockReturnValue({ - ...defaultMockState, - alwaysAllowReadOnly: true, - alwaysAllowWrite: true, - autoApprovalEnabled: true, - }) - - render() - - // Check that enabled actions are shown in summary - expect(screen.getByText("Read, Edit")).toBeInTheDocument() - }) - - it("preserves checkbox states", () => { - // Mock state with some permissions enabled - const mockState = { - ...defaultMockState, - alwaysAllowReadOnly: true, - alwaysAllowWrite: true, - } - - // Update mock to return our state - mockUseExtensionState.mockReturnValue(mockState) - - render() - - // Expand menu - fireEvent.click(screen.getByText("Auto-approve:")) - - // Verify read and edit checkboxes are checked - expect(screen.getByLabelText("Read files and directories")).toBeInTheDocument() - expect(screen.getByLabelText("Edit files")).toBeInTheDocument() - - // Verify the setters haven't been called yet - expect(mockState.setAlwaysAllowReadOnly).not.toHaveBeenCalled() - expect(mockState.setAlwaysAllowWrite).not.toHaveBeenCalled() - - // Collapse menu - fireEvent.click(screen.getByText("Auto-approve:")) - - // Expand again - fireEvent.click(screen.getByText("Auto-approve:")) - - // Verify checkboxes are still present - expect(screen.getByLabelText("Read files and directories")).toBeInTheDocument() - expect(screen.getByLabelText("Edit files")).toBeInTheDocument() - - // Verify the setters still haven't been called - expect(mockState.setAlwaysAllowReadOnly).not.toHaveBeenCalled() - expect(mockState.setAlwaysAllowWrite).not.toHaveBeenCalled() - }) -}) From 064dc4e52fbdc37d87eccc05f00930ce042f7e19 Mon Sep 17 00:00:00 2001 From: loup Date: Fri, 31 Jan 2025 09:16:43 +0100 Subject: [PATCH 57/67] feat: opened tabs and selection in the @ menu --- .../workspace/WorkspaceTracker.ts | 56 +++++++++++++++++-- src/shared/ExtensionMessage.ts | 12 ++++ src/utils/path.ts | 5 ++ .../src/components/chat/ChatTextArea.tsx | 27 ++++++++- .../src/components/chat/ContextMenu.tsx | 4 ++ .../src/context/ExtensionStateContext.tsx | 20 ++++++- webview-ui/src/utils/context-mentions.ts | 17 +++++- 7 files changed, 131 insertions(+), 10 deletions(-) diff --git a/src/integrations/workspace/WorkspaceTracker.ts b/src/integrations/workspace/WorkspaceTracker.ts index 550de84..49d5708 100644 --- a/src/integrations/workspace/WorkspaceTracker.ts +++ b/src/integrations/workspace/WorkspaceTracker.ts @@ -2,6 +2,7 @@ import * as vscode from "vscode" import * as path from "path" import { listFiles } from "../../services/glob/list-files" import { ClineProvider } from "../../core/webview/ClineProvider" +import { toRelativePath } from "../../utils/path" const cwd = vscode.workspace.workspaceFolders?.map((folder) => folder.uri.fsPath).at(0) const MAX_INITIAL_FILES = 1_000 @@ -48,6 +49,52 @@ class WorkspaceTracker { ) this.disposables.push(watcher) + + // Listen for tab changes + this.disposables.push(vscode.window.tabGroups.onDidChangeTabs(() => this.workspaceDidUpdate())) + + // Listen for editor/selection changes + this.disposables.push(vscode.window.onDidChangeActiveTextEditor(() => this.workspaceDidUpdate())) + this.disposables.push(vscode.window.onDidChangeTextEditorSelection(() => this.workspaceDidUpdate())) + + /* + An event that is emitted when a workspace folder is added or removed. + **Note:** this event will not fire if the first workspace folder is added, removed or changed, + because in that case the currently executing extensions (including the one that listens to this + event) will be terminated and restarted so that the (deprecated) `rootPath` property is updated + to point to the first workspace folder. + */ + // In other words, we don't have to worry about the root workspace folder ([0]) changing since the extension will be restarted and our cwd will be updated to reflect the new workspace folder. (We don't care about non root workspace folders, since cline will only be working within the root folder cwd) + // this.disposables.push(vscode.workspace.onDidChangeWorkspaceFolders(this.onWorkspaceFoldersChanged.bind(this))) + } + + private getOpenedTabsInfo() { + return vscode.window.tabGroups.all.flatMap((group) => + group.tabs + .filter((tab) => tab.input instanceof vscode.TabInputText) + .map((tab) => { + const path = (tab.input as vscode.TabInputText).uri.fsPath + return { + label: tab.label, + isActive: tab.isActive, + path: toRelativePath(path, cwd || ""), + } + }), + ) + } + + private getActiveSelectionInfo() { + const editor = vscode.window.activeTextEditor + if (!editor) return null + if (editor.selection.isEmpty) return null + + return { + file: toRelativePath(editor.document.uri.fsPath, cwd || ""), + selection: { + startLine: editor.selection.start.line, + endLine: editor.selection.end.line, + }, + } } private workspaceDidUpdate() { @@ -59,12 +106,13 @@ class WorkspaceTracker { if (!cwd) { return } + + const relativeFilePaths = Array.from(this.filePaths).map((file) => toRelativePath(file, cwd)) this.providerRef.deref()?.postMessageToWebview({ type: "workspaceUpdated", - filePaths: Array.from(this.filePaths).map((file) => { - const relativePath = path.relative(cwd, file).toPosix() - return file.endsWith("/") ? relativePath + "/" : relativePath - }), + filePaths: relativeFilePaths, + openedTabs: this.getOpenedTabsInfo(), + activeSelection: this.getActiveSelectionInfo(), }) this.updateTimer = null }, 300) // Debounce for 300ms diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index 4be5ed3..4108937 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -57,6 +57,18 @@ export interface ExtensionMessage { lmStudioModels?: string[] vsCodeLmModels?: { vendor?: string; family?: string; version?: string; id?: string }[] filePaths?: string[] + openedTabs?: Array<{ + label: string + isActive: boolean + path?: string + }> + activeSelection?: { + file: string + selection: { + startLine: number + endLine: number + } + } | null partialMessage?: ClineMessage glamaModels?: Record openRouterModels?: Record diff --git a/src/utils/path.ts b/src/utils/path.ts index b61eb38..a15d4e0 100644 --- a/src/utils/path.ts +++ b/src/utils/path.ts @@ -99,3 +99,8 @@ export function getReadablePath(cwd: string, relPath?: string): string { } } } + +export const toRelativePath = (filePath: string, cwd: string) => { + const relativePath = path.relative(cwd, filePath).toPosix() + return filePath.endsWith("/") ? relativePath + "/" : relativePath +} diff --git a/webview-ui/src/components/chat/ChatTextArea.tsx b/webview-ui/src/components/chat/ChatTextArea.tsx index 99c75df..96a9f9c 100644 --- a/webview-ui/src/components/chat/ChatTextArea.tsx +++ b/webview-ui/src/components/chat/ChatTextArea.tsx @@ -50,7 +50,8 @@ const ChatTextArea = forwardRef( }, ref, ) => { - const { filePaths, currentApiConfigName, listApiConfigMeta, customModes } = useExtensionState() + const { filePaths, openedTabs, activeSelection, currentApiConfigName, listApiConfigMeta, customModes } = + useExtensionState() const [gitCommits, setGitCommits] = useState([]) const [showDropdown, setShowDropdown] = useState(false) @@ -89,6 +90,7 @@ const ChatTextArea = forwardRef( return () => window.removeEventListener("message", messageHandler) }, [setInputValue]) + const [isTextAreaFocused, setIsTextAreaFocused] = useState(false) const [thumbnailsHeight, setThumbnailsHeight] = useState(0) const [textAreaBaseHeight, setTextAreaBaseHeight] = useState(undefined) const [showContextMenu, setShowContextMenu] = useState(false) @@ -135,17 +137,36 @@ const ChatTextArea = forwardRef( }, [inputValue, textAreaDisabled, setInputValue]) const queryItems = useMemo(() => { - return [ + const items = [ { type: ContextMenuOptionType.Problems, value: "problems" }, ...gitCommits, + // Add opened tabs + ...openedTabs + .filter((tab) => tab.path) + .map((tab) => ({ + type: ContextMenuOptionType.OpenedFile, + value: "/" + tab.path, + })), + + // Add regular file paths ...filePaths .map((file) => "/" + file) + .filter((path) => !openedTabs.some((tab) => tab.path && "/" + tab.path === path)) // Filter out paths that are already in openedTabs .map((path) => ({ type: path.endsWith("/") ? ContextMenuOptionType.Folder : ContextMenuOptionType.File, value: path, })), ] - }, [filePaths, gitCommits]) + + if (activeSelection) { + items.unshift({ + type: ContextMenuOptionType.OpenedFile, + value: `/${activeSelection.file}:${activeSelection.selection.startLine + 1}-${activeSelection.selection.endLine + 1}`, + }) + } + + return items + }, [filePaths, openedTabs, activeSelection]) useEffect(() => { const handleClickOutside = (event: MouseEvent) => { diff --git a/webview-ui/src/components/chat/ContextMenu.tsx b/webview-ui/src/components/chat/ContextMenu.tsx index b945813..2d12f1a 100644 --- a/webview-ui/src/components/chat/ContextMenu.tsx +++ b/webview-ui/src/components/chat/ContextMenu.tsx @@ -74,6 +74,7 @@ const ContextMenu: React.FC = ({ return Git Commits } case ContextMenuOptionType.File: + case ContextMenuOptionType.OpenedFile: case ContextMenuOptionType.Folder: if (option.value) { return ( @@ -100,6 +101,8 @@ const ContextMenu: React.FC = ({ const getIconForOption = (option: ContextMenuQueryItem): string => { switch (option.type) { + case ContextMenuOptionType.OpenedFile: + return "star-full" case ContextMenuOptionType.File: return "file" case ContextMenuOptionType.Folder: @@ -194,6 +197,7 @@ const ContextMenu: React.FC = ({ {(option.type === ContextMenuOptionType.Problems || ((option.type === ContextMenuOptionType.File || option.type === ContextMenuOptionType.Folder || + option.type === ContextMenuOptionType.OpenedFile || option.type === ContextMenuOptionType.Git) && option.value)) && ( + activeSelection: { + file: string + selection: { startLine: number; endLine: number } + } | null setApiConfiguration: (config: ApiConfiguration) => void setCustomInstructions: (value?: string) => void setAlwaysAllowReadOnly: (value: boolean) => void @@ -116,6 +121,11 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode const [glamaModels, setGlamaModels] = useState>({ [glamaDefaultModelId]: glamaDefaultModelInfo, }) + const [openedTabs, setOpenedTabs] = useState>([]) + const [activeSelection, setActiveSelection] = useState<{ + file: string + selection: { startLine: number; endLine: number } + } | null>(null) const [openRouterModels, setOpenRouterModels] = useState>({ [openRouterDefaultModelId]: openRouterDefaultModelInfo, }) @@ -176,7 +186,13 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode break } case "workspaceUpdated": { - setFilePaths(message.filePaths ?? []) + const paths = message.filePaths ?? [] + const tabs = message.openedTabs ?? [] + const selection = message.activeSelection ?? null + + setFilePaths(paths) + setOpenedTabs(tabs) + setActiveSelection(selection) break } case "partialMessage": { @@ -243,6 +259,8 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode openAiModels, mcpServers, filePaths, + openedTabs, + activeSelection, soundVolume: state.soundVolume, fuzzyMatchThreshold: state.fuzzyMatchThreshold, writeDelayMs: state.writeDelayMs, diff --git a/webview-ui/src/utils/context-mentions.ts b/webview-ui/src/utils/context-mentions.ts index 1772383..aa517d0 100644 --- a/webview-ui/src/utils/context-mentions.ts +++ b/webview-ui/src/utils/context-mentions.ts @@ -48,6 +48,7 @@ export function removeMention(text: string, position: number): { newText: string } export enum ContextMenuOptionType { + OpenedFile = "openedFile", File = "file", Folder = "folder", Problems = "problems", @@ -80,8 +81,14 @@ export function getContextMenuOptions( if (query === "") { if (selectedType === ContextMenuOptionType.File) { const files = queryItems - .filter((item) => item.type === ContextMenuOptionType.File) - .map((item) => ({ type: ContextMenuOptionType.File, value: item.value })) + .filter( + (item) => + item.type === ContextMenuOptionType.File || item.type === ContextMenuOptionType.OpenedFile, + ) + .map((item) => ({ + type: item.type, + value: item.value, + })) return files.length > 0 ? files : [{ type: ContextMenuOptionType.NoResults }] } @@ -125,6 +132,12 @@ export function getContextMenuOptions( } if (query.startsWith("http")) { suggestions.push({ type: ContextMenuOptionType.URL, value: query }) + } else { + suggestions.push( + ...queryItems + .filter((item) => item.type !== ContextMenuOptionType.OpenedFile) + .filter((item) => item.value?.toLowerCase().includes(lowerQuery)), + ) } // Add exact SHA matches to suggestions From 1e5a257e52bd00839a5f1ada45c2e5a796b27db8 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 1 Feb 2025 11:45:57 -0500 Subject: [PATCH 58/67] Removed active selection for now --- .../workspace/WorkspaceTracker.ts | 30 ------------------- src/shared/ExtensionMessage.ts | 7 ----- .../src/components/chat/ChatTextArea.tsx | 12 ++------ .../src/context/ExtensionStateContext.tsx | 11 ------- 4 files changed, 2 insertions(+), 58 deletions(-) diff --git a/src/integrations/workspace/WorkspaceTracker.ts b/src/integrations/workspace/WorkspaceTracker.ts index 49d5708..57c7f7f 100644 --- a/src/integrations/workspace/WorkspaceTracker.ts +++ b/src/integrations/workspace/WorkspaceTracker.ts @@ -50,22 +50,7 @@ class WorkspaceTracker { this.disposables.push(watcher) - // Listen for tab changes this.disposables.push(vscode.window.tabGroups.onDidChangeTabs(() => this.workspaceDidUpdate())) - - // Listen for editor/selection changes - this.disposables.push(vscode.window.onDidChangeActiveTextEditor(() => this.workspaceDidUpdate())) - this.disposables.push(vscode.window.onDidChangeTextEditorSelection(() => this.workspaceDidUpdate())) - - /* - An event that is emitted when a workspace folder is added or removed. - **Note:** this event will not fire if the first workspace folder is added, removed or changed, - because in that case the currently executing extensions (including the one that listens to this - event) will be terminated and restarted so that the (deprecated) `rootPath` property is updated - to point to the first workspace folder. - */ - // In other words, we don't have to worry about the root workspace folder ([0]) changing since the extension will be restarted and our cwd will be updated to reflect the new workspace folder. (We don't care about non root workspace folders, since cline will only be working within the root folder cwd) - // this.disposables.push(vscode.workspace.onDidChangeWorkspaceFolders(this.onWorkspaceFoldersChanged.bind(this))) } private getOpenedTabsInfo() { @@ -83,20 +68,6 @@ class WorkspaceTracker { ) } - private getActiveSelectionInfo() { - const editor = vscode.window.activeTextEditor - if (!editor) return null - if (editor.selection.isEmpty) return null - - return { - file: toRelativePath(editor.document.uri.fsPath, cwd || ""), - selection: { - startLine: editor.selection.start.line, - endLine: editor.selection.end.line, - }, - } - } - private workspaceDidUpdate() { if (this.updateTimer) { clearTimeout(this.updateTimer) @@ -112,7 +83,6 @@ class WorkspaceTracker { type: "workspaceUpdated", filePaths: relativeFilePaths, openedTabs: this.getOpenedTabsInfo(), - activeSelection: this.getActiveSelectionInfo(), }) this.updateTimer = null }, 300) // Debounce for 300ms diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index 4108937..bee51f6 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -62,13 +62,6 @@ export interface ExtensionMessage { isActive: boolean path?: string }> - activeSelection?: { - file: string - selection: { - startLine: number - endLine: number - } - } | null partialMessage?: ClineMessage glamaModels?: Record openRouterModels?: Record diff --git a/webview-ui/src/components/chat/ChatTextArea.tsx b/webview-ui/src/components/chat/ChatTextArea.tsx index 96a9f9c..6a7c05a 100644 --- a/webview-ui/src/components/chat/ChatTextArea.tsx +++ b/webview-ui/src/components/chat/ChatTextArea.tsx @@ -50,8 +50,7 @@ const ChatTextArea = forwardRef( }, ref, ) => { - const { filePaths, openedTabs, activeSelection, currentApiConfigName, listApiConfigMeta, customModes } = - useExtensionState() + const { filePaths, openedTabs, currentApiConfigName, listApiConfigMeta, customModes } = useExtensionState() const [gitCommits, setGitCommits] = useState([]) const [showDropdown, setShowDropdown] = useState(false) @@ -158,15 +157,8 @@ const ChatTextArea = forwardRef( })), ] - if (activeSelection) { - items.unshift({ - type: ContextMenuOptionType.OpenedFile, - value: `/${activeSelection.file}:${activeSelection.selection.startLine + 1}-${activeSelection.selection.endLine + 1}`, - }) - } - return items - }, [filePaths, openedTabs, activeSelection]) + }, [filePaths, openedTabs]) useEffect(() => { const handleClickOutside = (event: MouseEvent) => { diff --git a/webview-ui/src/context/ExtensionStateContext.tsx b/webview-ui/src/context/ExtensionStateContext.tsx index ecf59a3..47db6bf 100644 --- a/webview-ui/src/context/ExtensionStateContext.tsx +++ b/webview-ui/src/context/ExtensionStateContext.tsx @@ -28,10 +28,6 @@ export interface ExtensionStateContextType extends ExtensionState { mcpServers: McpServer[] filePaths: string[] openedTabs: Array<{ label: string; isActive: boolean; path?: string }> - activeSelection: { - file: string - selection: { startLine: number; endLine: number } - } | null setApiConfiguration: (config: ApiConfiguration) => void setCustomInstructions: (value?: string) => void setAlwaysAllowReadOnly: (value: boolean) => void @@ -122,10 +118,6 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode [glamaDefaultModelId]: glamaDefaultModelInfo, }) const [openedTabs, setOpenedTabs] = useState>([]) - const [activeSelection, setActiveSelection] = useState<{ - file: string - selection: { startLine: number; endLine: number } - } | null>(null) const [openRouterModels, setOpenRouterModels] = useState>({ [openRouterDefaultModelId]: openRouterDefaultModelInfo, }) @@ -188,11 +180,9 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode case "workspaceUpdated": { const paths = message.filePaths ?? [] const tabs = message.openedTabs ?? [] - const selection = message.activeSelection ?? null setFilePaths(paths) setOpenedTabs(tabs) - setActiveSelection(selection) break } case "partialMessage": { @@ -260,7 +250,6 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode mcpServers, filePaths, openedTabs, - activeSelection, soundVolume: state.soundVolume, fuzzyMatchThreshold: state.fuzzyMatchThreshold, writeDelayMs: state.writeDelayMs, From 14683cc3c5d76229cd47541df5bcb109e24499f0 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 1 Feb 2025 11:57:52 -0500 Subject: [PATCH 59/67] Cleanup and release --- .changeset/blue-masks-camp.md | 5 +++++ webview-ui/src/components/chat/ChatTextArea.tsx | 10 ++-------- webview-ui/src/components/chat/ContextMenu.tsx | 2 +- webview-ui/src/utils/context-mentions.ts | 12 +++++------- 4 files changed, 13 insertions(+), 16 deletions(-) create mode 100644 .changeset/blue-masks-camp.md diff --git a/.changeset/blue-masks-camp.md b/.changeset/blue-masks-camp.md new file mode 100644 index 0000000..a67e1c4 --- /dev/null +++ b/.changeset/blue-masks-camp.md @@ -0,0 +1,5 @@ +--- +"roo-cline": patch +--- + +Add shortcuts to the currently open tabs in the "Add File" section of @-mentions (thanks @olup!) diff --git a/webview-ui/src/components/chat/ChatTextArea.tsx b/webview-ui/src/components/chat/ChatTextArea.tsx index 6a7c05a..a20922d 100644 --- a/webview-ui/src/components/chat/ChatTextArea.tsx +++ b/webview-ui/src/components/chat/ChatTextArea.tsx @@ -89,7 +89,6 @@ const ChatTextArea = forwardRef( return () => window.removeEventListener("message", messageHandler) }, [setInputValue]) - const [isTextAreaFocused, setIsTextAreaFocused] = useState(false) const [thumbnailsHeight, setThumbnailsHeight] = useState(0) const [textAreaBaseHeight, setTextAreaBaseHeight] = useState(undefined) const [showContextMenu, setShowContextMenu] = useState(false) @@ -136,18 +135,15 @@ const ChatTextArea = forwardRef( }, [inputValue, textAreaDisabled, setInputValue]) const queryItems = useMemo(() => { - const items = [ + return [ { type: ContextMenuOptionType.Problems, value: "problems" }, ...gitCommits, - // Add opened tabs ...openedTabs .filter((tab) => tab.path) .map((tab) => ({ type: ContextMenuOptionType.OpenedFile, value: "/" + tab.path, })), - - // Add regular file paths ...filePaths .map((file) => "/" + file) .filter((path) => !openedTabs.some((tab) => tab.path && "/" + tab.path === path)) // Filter out paths that are already in openedTabs @@ -156,9 +152,7 @@ const ChatTextArea = forwardRef( value: path, })), ] - - return items - }, [filePaths, openedTabs]) + }, [filePaths, gitCommits, openedTabs]) useEffect(() => { const handleClickOutside = (event: MouseEvent) => { diff --git a/webview-ui/src/components/chat/ContextMenu.tsx b/webview-ui/src/components/chat/ContextMenu.tsx index 2d12f1a..85ec865 100644 --- a/webview-ui/src/components/chat/ContextMenu.tsx +++ b/webview-ui/src/components/chat/ContextMenu.tsx @@ -102,7 +102,7 @@ const ContextMenu: React.FC = ({ const getIconForOption = (option: ContextMenuQueryItem): string => { switch (option.type) { case ContextMenuOptionType.OpenedFile: - return "star-full" + return "window" case ContextMenuOptionType.File: return "file" case ContextMenuOptionType.Folder: diff --git a/webview-ui/src/utils/context-mentions.ts b/webview-ui/src/utils/context-mentions.ts index aa517d0..5cce936 100644 --- a/webview-ui/src/utils/context-mentions.ts +++ b/webview-ui/src/utils/context-mentions.ts @@ -132,12 +132,6 @@ export function getContextMenuOptions( } if (query.startsWith("http")) { suggestions.push({ type: ContextMenuOptionType.URL, value: query }) - } else { - suggestions.push( - ...queryItems - .filter((item) => item.type !== ContextMenuOptionType.OpenedFile) - .filter((item) => item.value?.toLowerCase().includes(lowerQuery)), - ) } // Add exact SHA matches to suggestions @@ -175,12 +169,16 @@ export function getContextMenuOptions( // Separate matches by type const fileMatches = matchingItems.filter( - (item) => item.type === ContextMenuOptionType.File || item.type === ContextMenuOptionType.Folder, + (item) => + item.type === ContextMenuOptionType.File || + item.type === ContextMenuOptionType.OpenedFile || + item.type === ContextMenuOptionType.Folder, ) const gitMatches = matchingItems.filter((item) => item.type === ContextMenuOptionType.Git) const otherMatches = matchingItems.filter( (item) => item.type !== ContextMenuOptionType.File && + item.type !== ContextMenuOptionType.OpenedFile && item.type !== ContextMenuOptionType.Folder && item.type !== ContextMenuOptionType.Git, ) From 70ad037016e60af76a798108187ed44d42f3684f Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 1 Feb 2025 12:15:03 -0500 Subject: [PATCH 60/67] Fix tests --- src/__mocks__/vscode.js | 27 +++++++++++++++++++ src/core/__tests__/Cline.test.ts | 1 + .../__tests__/WorkspaceTracker.test.ts | 11 ++++++++ .../chat/__tests__/ChatTextArea.test.tsx | 6 +++++ 4 files changed, 45 insertions(+) diff --git a/src/__mocks__/vscode.js b/src/__mocks__/vscode.js index 6c25b10..ba44f8d 100644 --- a/src/__mocks__/vscode.js +++ b/src/__mocks__/vscode.js @@ -5,9 +5,25 @@ const vscode = { createTextEditorDecorationType: jest.fn().mockReturnValue({ dispose: jest.fn(), }), + tabGroups: { + onDidChangeTabs: jest.fn(() => { + return { + dispose: jest.fn(), + } + }), + all: [], + }, }, workspace: { onDidSaveTextDocument: jest.fn(), + createFileSystemWatcher: jest.fn().mockReturnValue({ + onDidCreate: jest.fn().mockReturnValue({ dispose: jest.fn() }), + onDidDelete: jest.fn().mockReturnValue({ dispose: jest.fn() }), + dispose: jest.fn(), + }), + fs: { + stat: jest.fn(), + }, }, Disposable: class { dispose() {} @@ -57,6 +73,17 @@ const vscode = { Development: 2, Test: 3, }, + FileType: { + Unknown: 0, + File: 1, + Directory: 2, + SymbolicLink: 64, + }, + TabInputText: class { + constructor(uri) { + this.uri = uri + } + }, } module.exports = vscode diff --git a/src/core/__tests__/Cline.test.ts b/src/core/__tests__/Cline.test.ts index e49b660..4c1f697 100644 --- a/src/core/__tests__/Cline.test.ts +++ b/src/core/__tests__/Cline.test.ts @@ -128,6 +128,7 @@ jest.mock("vscode", () => { visibleTextEditors: [mockTextEditor], tabGroups: { all: [mockTabGroup], + onDidChangeTabs: jest.fn(() => ({ dispose: jest.fn() })), }, }, workspace: { diff --git a/src/integrations/workspace/__tests__/WorkspaceTracker.test.ts b/src/integrations/workspace/__tests__/WorkspaceTracker.test.ts index 44b5648..47b678a 100644 --- a/src/integrations/workspace/__tests__/WorkspaceTracker.test.ts +++ b/src/integrations/workspace/__tests__/WorkspaceTracker.test.ts @@ -16,6 +16,12 @@ const mockWatcher = { } jest.mock("vscode", () => ({ + window: { + tabGroups: { + onDidChangeTabs: jest.fn(() => ({ dispose: jest.fn() })), + all: [], + }, + }, workspace: { workspaceFolders: [ { @@ -61,6 +67,7 @@ describe("WorkspaceTracker", () => { expect(mockProvider.postMessageToWebview).toHaveBeenCalledWith({ type: "workspaceUpdated", filePaths: expect.arrayContaining(["file1.ts", "file2.ts"]), + openedTabs: [], }) expect((mockProvider.postMessageToWebview as jest.Mock).mock.calls[0][0].filePaths).toHaveLength(2) }) @@ -74,6 +81,7 @@ describe("WorkspaceTracker", () => { expect(mockProvider.postMessageToWebview).toHaveBeenCalledWith({ type: "workspaceUpdated", filePaths: ["newfile.ts"], + openedTabs: [], }) }) @@ -92,6 +100,7 @@ describe("WorkspaceTracker", () => { expect(mockProvider.postMessageToWebview).toHaveBeenLastCalledWith({ type: "workspaceUpdated", filePaths: [], + openedTabs: [], }) }) @@ -106,6 +115,7 @@ describe("WorkspaceTracker", () => { expect(mockProvider.postMessageToWebview).toHaveBeenCalledWith({ type: "workspaceUpdated", filePaths: expect.arrayContaining(["newdir"]), + openedTabs: [], }) const lastCall = (mockProvider.postMessageToWebview as jest.Mock).mock.calls.slice(-1)[0] expect(lastCall[0].filePaths).toHaveLength(1) @@ -126,6 +136,7 @@ describe("WorkspaceTracker", () => { expect(mockProvider.postMessageToWebview).toHaveBeenCalledWith({ type: "workspaceUpdated", filePaths: expect.arrayContaining(expectedFiles), + openedTabs: [], }) expect(calls[0][0].filePaths).toHaveLength(1000) diff --git a/webview-ui/src/components/chat/__tests__/ChatTextArea.test.tsx b/webview-ui/src/components/chat/__tests__/ChatTextArea.test.tsx index 5467c29..599e8d3 100644 --- a/webview-ui/src/components/chat/__tests__/ChatTextArea.test.tsx +++ b/webview-ui/src/components/chat/__tests__/ChatTextArea.test.tsx @@ -41,6 +41,7 @@ describe("ChatTextArea", () => { // Default mock implementation for useExtensionState ;(useExtensionState as jest.Mock).mockReturnValue({ filePaths: [], + openedTabs: [], apiConfiguration: { apiProvider: "anthropic", }, @@ -51,6 +52,7 @@ describe("ChatTextArea", () => { it("should be disabled when textAreaDisabled is true", () => { ;(useExtensionState as jest.Mock).mockReturnValue({ filePaths: [], + openedTabs: [], }) render() @@ -68,6 +70,7 @@ describe("ChatTextArea", () => { ;(useExtensionState as jest.Mock).mockReturnValue({ filePaths: [], + openedTabs: [], apiConfiguration, }) @@ -85,6 +88,7 @@ describe("ChatTextArea", () => { it("should not send message when input is empty", () => { ;(useExtensionState as jest.Mock).mockReturnValue({ filePaths: [], + openedTabs: [], apiConfiguration: { apiProvider: "openrouter", }, @@ -101,6 +105,7 @@ describe("ChatTextArea", () => { it("should show loading state while enhancing", () => { ;(useExtensionState as jest.Mock).mockReturnValue({ filePaths: [], + openedTabs: [], apiConfiguration: { apiProvider: "openrouter", }, @@ -123,6 +128,7 @@ describe("ChatTextArea", () => { // Update apiConfiguration ;(useExtensionState as jest.Mock).mockReturnValue({ filePaths: [], + openedTabs: [], apiConfiguration: { apiProvider: "openrouter", newSetting: "test", From 70af1d2cb330940a043d7d4ebe4be09bcea50f58 Mon Sep 17 00:00:00 2001 From: MFPires Date: Sat, 1 Feb 2025 17:38:52 -0300 Subject: [PATCH 61/67] fix: update context token calculation to match upstream The context token calculation has been updated to: - Include cache tokens (cacheWrites + cacheReads) in the total context size - Use a cleaner approach to find the last valid API request - Fix issue where placeholder messages without token info were being counted - Match upstream's implementation of getTotalTokensFromMessage This fixes the issue where context size was incorrectly showing as 139 tokens without any API requests being made. --- src/shared/getApiMetrics.ts | 43 +++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/src/shared/getApiMetrics.ts b/src/shared/getApiMetrics.ts index af94462..167ce61 100644 --- a/src/shared/getApiMetrics.ts +++ b/src/shared/getApiMetrics.ts @@ -6,7 +6,7 @@ interface ApiMetrics { totalCacheWrites?: number totalCacheReads?: number totalCost: number - contextTokens: number // Total tokens in conversation (last message's tokensIn + tokensOut) + contextTokens: number // Total tokens in conversation (last message's tokensIn + tokensOut + cacheWrites + cacheReads) } /** @@ -17,7 +17,7 @@ interface ApiMetrics { * It extracts and sums up the tokensIn, tokensOut, cacheWrites, cacheReads, and cost from these messages. * * @param messages - An array of ClineMessage objects to process. - * @returns An ApiMetrics object containing totalTokensIn, totalTokensOut, totalCacheWrites, totalCacheReads, and totalCost. + * @returns An ApiMetrics object containing totalTokensIn, totalTokensOut, totalCacheWrites, totalCacheReads, totalCost, and contextTokens. * * @example * const messages = [ @@ -36,27 +36,30 @@ export function getApiMetrics(messages: ClineMessage[]): ApiMetrics { contextTokens: 0, } - // Find the last api_req_started message that has valid token information + // Helper function to get total tokens from a message + const getTotalTokensFromMessage = (message: ClineMessage): number => { + if (!message.text) return 0 + try { + const { tokensIn, tokensOut, cacheWrites, cacheReads } = JSON.parse(message.text) + return (tokensIn || 0) + (tokensOut || 0) + (cacheWrites || 0) + (cacheReads || 0) + } catch { + return 0 + } + } + + // Find the last api_req_started message that has any tokens const lastApiReq = [...messages].reverse().find((message) => { - if (message.type === "say" && message.say === "api_req_started" && message.text) { - try { - const parsedData = JSON.parse(message.text) - return typeof parsedData.tokensIn === "number" && typeof parsedData.tokensOut === "number" - } catch { - return false - } + if (message.type === "say" && message.say === "api_req_started") { + return getTotalTokensFromMessage(message) > 0 } return false }) - // Keep track of the last valid context tokens - let lastValidContextTokens = 0 - + // Calculate running totals messages.forEach((message) => { if (message.type === "say" && message.say === "api_req_started" && message.text) { try { - const parsedData = JSON.parse(message.text) - const { tokensIn, tokensOut, cacheWrites, cacheReads, cost } = parsedData + const { tokensIn, tokensOut, cacheWrites, cacheReads, cost } = JSON.parse(message.text) if (typeof tokensIn === "number") { result.totalTokensIn += tokensIn @@ -74,15 +77,9 @@ export function getApiMetrics(messages: ClineMessage[]): ApiMetrics { result.totalCost += cost } - // Update last valid context tokens whenever we have valid input and output tokens - if (tokensIn > 0 && tokensOut > 0) { - lastValidContextTokens = tokensIn + tokensOut - } - - // If this is the last api request, use its tokens for context size + // If this is the last api request with tokens, use its total for context size if (message === lastApiReq) { - // Use the last valid context tokens if the current request doesn't have valid tokens - result.contextTokens = tokensIn > 0 && tokensOut > 0 ? tokensIn + tokensOut : lastValidContextTokens + result.contextTokens = getTotalTokensFromMessage(message) } } catch (error) { console.error("Error parsing JSON:", error) From 5a1299c57f0cf9e022e0b1544e29744db3206884 Mon Sep 17 00:00:00 2001 From: Nissa Seru <119150866+nissa-seru@users.noreply.github.com> Date: Sat, 1 Feb 2025 21:30:11 -0500 Subject: [PATCH 62/67] use fastest-levenshtein --- src/core/diff/strategies/search-replace.ts | 38 +++------------------- 1 file changed, 5 insertions(+), 33 deletions(-) diff --git a/src/core/diff/strategies/search-replace.ts b/src/core/diff/strategies/search-replace.ts index 959f949..a9bf467 100644 --- a/src/core/diff/strategies/search-replace.ts +++ b/src/core/diff/strategies/search-replace.ts @@ -1,37 +1,9 @@ import { DiffStrategy, DiffResult } from "../types" import { addLineNumbers, everyLineHasLineNumbers, stripLineNumbers } from "../../../integrations/misc/extract-text" +import { distance } from "fastest-levenshtein" const BUFFER_LINES = 20 // Number of extra context lines to show before and after matches -function levenshteinDistance(a: string, b: string): number { - const matrix: number[][] = [] - - // Initialize matrix - for (let i = 0; i <= a.length; i++) { - matrix[i] = [i] - } - for (let j = 0; j <= b.length; j++) { - matrix[0][j] = j - } - - // Fill matrix - for (let i = 1; i <= a.length; i++) { - for (let j = 1; j <= b.length; j++) { - if (a[i - 1] === b[j - 1]) { - matrix[i][j] = matrix[i - 1][j - 1] - } else { - matrix[i][j] = Math.min( - matrix[i - 1][j - 1] + 1, // substitution - matrix[i][j - 1] + 1, // insertion - matrix[i - 1][j] + 1, // deletion - ) - } - } - } - - return matrix[a.length][b.length] -} - function getSimilarity(original: string, search: string): number { if (search === "") { return 1 @@ -47,12 +19,12 @@ function getSimilarity(original: string, search: string): number { return 1 } - // Calculate Levenshtein distance - const distance = levenshteinDistance(normalizedOriginal, normalizedSearch) + // Calculate Levenshtein distance using fastest-levenshtein's distance function + const dist = distance(normalizedOriginal, normalizedSearch) - // Calculate similarity ratio (0 to 1, where 1 is exact match) + // Calculate similarity ratio (0 to 1, where 1 is an exact match) const maxLength = Math.max(normalizedOriginal.length, normalizedSearch.length) - return 1 - distance / maxLength + return 1 - dist / maxLength } export class SearchReplaceDiffStrategy implements DiffStrategy { From 7440f86d2d00f8a481f67a31fbc21d4f7dee7c8a Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 1 Feb 2025 23:39:44 -0500 Subject: [PATCH 63/67] Create discord-pr-notify.yml --- .github/workflows/discord-pr-notify.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/discord-pr-notify.yml diff --git a/.github/workflows/discord-pr-notify.yml b/.github/workflows/discord-pr-notify.yml new file mode 100644 index 0000000..27da260 --- /dev/null +++ b/.github/workflows/discord-pr-notify.yml @@ -0,0 +1,17 @@ +on: + pull_request: + types: [opened] + +jobs: + notify: + runs-on: ubuntu-latest + steps: + - name: Send Discord Notification + uses: Ilshidur/action-discord@master + with: + args: | + 🚀 **New Pull Request Opened!** + 🔗 [${{ github.event.pull_request.title }}](${{ github.event.pull_request.html_url }}) + 👤 **Author:** ${{ github.event.pull_request.user.login }} + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} From 1d81d871bff27c3c14d1f6c1a09b9192b05892dd Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 1 Feb 2025 23:56:14 -0500 Subject: [PATCH 64/67] Try a link without a preview --- .github/workflows/discord-pr-notify.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/discord-pr-notify.yml b/.github/workflows/discord-pr-notify.yml index 27da260..8fdc952 100644 --- a/.github/workflows/discord-pr-notify.yml +++ b/.github/workflows/discord-pr-notify.yml @@ -1,3 +1,5 @@ +name: Discord PR Notifier + on: pull_request: types: [opened] @@ -11,7 +13,8 @@ jobs: with: args: | 🚀 **New Pull Request Opened!** - 🔗 [${{ github.event.pull_request.title }}](${{ github.event.pull_request.html_url }}) + 📝 **Title:** ${{ github.event.pull_request.title }} + 🔗 <${{ github.event.pull_request.html_url }}> 👤 **Author:** ${{ github.event.pull_request.user.login }} env: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} From 58111432da05aa4920ebf82bf748d906452f53c9 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sun, 2 Feb 2025 00:04:27 -0500 Subject: [PATCH 65/67] Make runnable on workflow dispatch --- .github/workflows/discord-pr-notify.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/discord-pr-notify.yml b/.github/workflows/discord-pr-notify.yml index 8fdc952..9546445 100644 --- a/.github/workflows/discord-pr-notify.yml +++ b/.github/workflows/discord-pr-notify.yml @@ -1,6 +1,7 @@ name: Discord PR Notifier on: + workflow_dispatch: pull_request: types: [opened] From e37692c2418e0352217fa2639d01dde754a866bc Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sun, 2 Feb 2025 00:33:26 -0500 Subject: [PATCH 66/67] Run discord GHA against pull_request_target --- .github/workflows/discord-pr-notify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/discord-pr-notify.yml b/.github/workflows/discord-pr-notify.yml index 9546445..fe55a06 100644 --- a/.github/workflows/discord-pr-notify.yml +++ b/.github/workflows/discord-pr-notify.yml @@ -2,7 +2,7 @@ name: Discord PR Notifier on: workflow_dispatch: - pull_request: + pull_request_target: types: [opened] jobs: From e036c1e33b02d824f946833488a7f76006e114c2 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sun, 2 Feb 2025 00:38:28 -0500 Subject: [PATCH 67/67] Exclude changeset PRs --- .github/workflows/discord-pr-notify.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/discord-pr-notify.yml b/.github/workflows/discord-pr-notify.yml index fe55a06..a58360a 100644 --- a/.github/workflows/discord-pr-notify.yml +++ b/.github/workflows/discord-pr-notify.yml @@ -8,6 +8,7 @@ on: jobs: notify: runs-on: ubuntu-latest + if: github.head_ref != 'changeset-release/main' steps: - name: Send Discord Notification uses: Ilshidur/action-discord@master