From 984e16d24ad95183ef1ad925feefc7dc1ce30271 Mon Sep 17 00:00:00 2001 From: davidvader Date: Mon, 16 Dec 2024 09:26:30 -0600 Subject: [PATCH] feat: port over docusaurus site --- .github/CODEOWNERS | 2 + .github/CONTRIBUTING.md | 55 + .github/README.md | 34 +- .github/SUPPORT.md | 25 + .github/renovate.json | 6 + .github/workflows/deploy.yml | 51 + .github/workflows/test-deploy.yml | 26 + .gitignore | 20 + .npmrc | 1 + .nvmrc | 1 + README.md | 41 + blog/10919.png | Bin 0 -> 232111 bytes blog/2024-12-04-first-blog-post.md | 16 + blog/22219.jpeg | Bin 0 -> 21941 bytes blog/authors.yml | 13 + blog/tags.yml | 31 + docs/installation/_category_.json | 12 + docs/installation/install-vela.md | 106 + docs/installation/server/docker.md | 157 + docs/installation/server/kubernetes.md | 31 + docs/installation/server/server.md | 31 + docs/installation/ui/docker.md | 68 + docs/installation/ui/kubernetes.md | 24 + docs/installation/ui/ui.md | 34 + docs/installation/worker/docker.md | 121 + docs/installation/worker/kubernetes.md | 266 + docs/installation/worker/worker.md | 33 + docs/reference/_category_.json | 7 + docs/reference/api/_category_.json | 5 + docs/reference/api/admin/_category_.json | 5 + docs/reference/api/admin/build-queue.md | 97 + docs/reference/api/admin/build.md | 105 + docs/reference/api/authentication.md | 54 + docs/reference/cli/_category_.json | 5 + docs/reference/cli/repo/_category_.json | 5 + docs/reference/cli/repo/add.md | 97 + docs/reference/yaml/environment.md | 16 + docs/reference/yaml/yaml.md | 62 + docs/usage/_category_.json | 7 + docs/usage/json-schema-support.md | 9 + docs/usage/managing-deployments.md | 90 + docs/usage/plugins/plugins.md | 85 + docs/usage/plugins/registry/_category_.json | 12 + docs/usage/plugins/registry/ansible.md | 161 + docs/usage/plugins/registry/vault.md | 142 + docs/usage/plugins/tutorials/_category_.json | 12 + docs/usage/plugins/tutorials/bash.md | 113 + docs/usage/quickstart.md | 149 + docusaurus.config.js | 121 + package-lock.json | 18049 ++++++++++++++++ package.json | 49 + pnpm-lock.yaml | 12006 ++++++++++ sidebars.js | 52 + src/components/HomepageFeatures/index.js | 61 + .../HomepageFeatures/styles.module.css | 11 + src/css/custom.css | 30 + src/pages/index.js | 43 + src/pages/index.module.css | 23 + src/pages/markdown-page.md | 7 + static/.nojekyll | 0 static/img/build_workflow.png | Bin 0 -> 40652 bytes static/img/docusaurus-social-card.jpg | Bin 0 -> 55746 bytes static/img/docusaurus.png | Bin 0 -> 5142 bytes static/img/favicon.ico | Bin 0 -> 167730 bytes static/img/logo.svg | 1 + static/img/undraw_docusaurus_mountain.svg | 171 + static/img/undraw_docusaurus_react.svg | 170 + static/img/undraw_docusaurus_tree.svg | 40 + static/img/vela.png | Bin 0 -> 39881 bytes .../version-1.0/installation/_category_.json | 12 + .../version-1.0/installation/install-vela.md | 106 + .../version-1.0/installation/server/docker.md | 157 + .../version-1.0/installation/server/server.md | 31 + .../version-1.0/installation/ui/docker.md | 68 + .../version-1.0/installation/ui/ui.md | 34 + .../version-1.0/installation/worker/docker.md | 121 + .../version-1.0/installation/worker/worker.md | 33 + .../version-1.0/reference/_category_.json | 7 + .../version-1.0/reference/api/_category_.json | 5 + .../reference/api/admin/_category_.json | 5 + .../reference/api/admin/build-queue.md | 97 + .../version-1.0/reference/api/admin/build.md | 105 + .../reference/api/authentication.md | 54 + .../version-1.0/reference/cli/_category_.json | 5 + .../reference/cli/repo/_category_.json | 5 + .../version-1.0/reference/cli/repo/add.md | 97 + .../version-1.0/reference/yaml/environment.md | 16 + .../version-1.0/reference/yaml/yaml.md | 62 + .../version-1.0/usage/_category_.json | 7 + .../version-1.0/usage/json-schema-support.md | 9 + .../version-1.0/usage/managing-deployments.md | 90 + .../version-1.0/usage/plugins/plugins.md | 85 + .../usage/plugins/registry/_category_.json | 12 + .../usage/plugins/registry/ansible.md | 161 + .../usage/plugins/registry/vault.md | 142 + .../usage/plugins/tutorials/_category_.json | 12 + .../usage/plugins/tutorials/bash.md | 113 + .../version-1.0/usage/quickstart.md | 149 + .../version-1.1/installation/_category_.json | 12 + .../version-1.1/installation/install-vela.md | 106 + .../version-1.1/installation/server/docker.md | 157 + .../installation/server/kubernetes.md | 31 + .../version-1.1/installation/server/server.md | 31 + .../version-1.1/installation/ui/docker.md | 68 + .../version-1.1/installation/ui/kubernetes.md | 24 + .../version-1.1/installation/ui/ui.md | 34 + .../version-1.1/installation/worker/docker.md | 121 + .../installation/worker/kubernetes.md | 266 + .../version-1.1/installation/worker/worker.md | 33 + .../version-1.1/reference/_category_.json | 7 + .../version-1.1/reference/api/_category_.json | 5 + .../reference/api/admin/_category_.json | 5 + .../reference/api/admin/build-queue.md | 97 + .../version-1.1/reference/api/admin/build.md | 105 + .../reference/api/authentication.md | 54 + .../version-1.1/reference/cli/_category_.json | 5 + .../reference/cli/repo/_category_.json | 5 + .../version-1.1/reference/cli/repo/add.md | 97 + .../version-1.1/reference/yaml/environment.md | 16 + .../version-1.1/reference/yaml/yaml.md | 62 + .../version-1.1/usage/_category_.json | 7 + .../version-1.1/usage/json-schema-support.md | 9 + .../version-1.1/usage/managing-deployments.md | 90 + .../version-1.1/usage/plugins/plugins.md | 85 + .../usage/plugins/registry/_category_.json | 12 + .../usage/plugins/registry/ansible.md | 161 + .../usage/plugins/registry/vault.md | 142 + .../usage/plugins/tutorials/_category_.json | 12 + .../usage/plugins/tutorials/bash.md | 113 + .../version-1.1/usage/quickstart.md | 149 + versioned_sidebars/version-1.0-sidebars.json | 20 + versioned_sidebars/version-1.1-sidebars.json | 20 + versions.json | 4 + 133 files changed, 37241 insertions(+), 1 deletion(-) create mode 100644 .github/CODEOWNERS create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/SUPPORT.md create mode 100644 .github/renovate.json create mode 100644 .github/workflows/deploy.yml create mode 100644 .github/workflows/test-deploy.yml create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .nvmrc create mode 100644 README.md create mode 100644 blog/10919.png create mode 100644 blog/2024-12-04-first-blog-post.md create mode 100644 blog/22219.jpeg create mode 100644 blog/authors.yml create mode 100644 blog/tags.yml create mode 100644 docs/installation/_category_.json create mode 100644 docs/installation/install-vela.md create mode 100644 docs/installation/server/docker.md create mode 100644 docs/installation/server/kubernetes.md create mode 100644 docs/installation/server/server.md create mode 100644 docs/installation/ui/docker.md create mode 100644 docs/installation/ui/kubernetes.md create mode 100644 docs/installation/ui/ui.md create mode 100644 docs/installation/worker/docker.md create mode 100644 docs/installation/worker/kubernetes.md create mode 100644 docs/installation/worker/worker.md create mode 100644 docs/reference/_category_.json create mode 100644 docs/reference/api/_category_.json create mode 100644 docs/reference/api/admin/_category_.json create mode 100644 docs/reference/api/admin/build-queue.md create mode 100644 docs/reference/api/admin/build.md create mode 100644 docs/reference/api/authentication.md create mode 100644 docs/reference/cli/_category_.json create mode 100644 docs/reference/cli/repo/_category_.json create mode 100644 docs/reference/cli/repo/add.md create mode 100644 docs/reference/yaml/environment.md create mode 100644 docs/reference/yaml/yaml.md create mode 100644 docs/usage/_category_.json create mode 100644 docs/usage/json-schema-support.md create mode 100644 docs/usage/managing-deployments.md create mode 100644 docs/usage/plugins/plugins.md create mode 100644 docs/usage/plugins/registry/_category_.json create mode 100644 docs/usage/plugins/registry/ansible.md create mode 100644 docs/usage/plugins/registry/vault.md create mode 100644 docs/usage/plugins/tutorials/_category_.json create mode 100644 docs/usage/plugins/tutorials/bash.md create mode 100644 docs/usage/quickstart.md create mode 100644 docusaurus.config.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 sidebars.js create mode 100644 src/components/HomepageFeatures/index.js create mode 100644 src/components/HomepageFeatures/styles.module.css create mode 100644 src/css/custom.css create mode 100644 src/pages/index.js create mode 100644 src/pages/index.module.css create mode 100644 src/pages/markdown-page.md create mode 100644 static/.nojekyll create mode 100644 static/img/build_workflow.png create mode 100644 static/img/docusaurus-social-card.jpg create mode 100644 static/img/docusaurus.png create mode 100644 static/img/favicon.ico create mode 100644 static/img/logo.svg create mode 100644 static/img/undraw_docusaurus_mountain.svg create mode 100644 static/img/undraw_docusaurus_react.svg create mode 100644 static/img/undraw_docusaurus_tree.svg create mode 100644 static/img/vela.png create mode 100644 versioned_docs/version-1.0/installation/_category_.json create mode 100644 versioned_docs/version-1.0/installation/install-vela.md create mode 100644 versioned_docs/version-1.0/installation/server/docker.md create mode 100644 versioned_docs/version-1.0/installation/server/server.md create mode 100644 versioned_docs/version-1.0/installation/ui/docker.md create mode 100644 versioned_docs/version-1.0/installation/ui/ui.md create mode 100644 versioned_docs/version-1.0/installation/worker/docker.md create mode 100644 versioned_docs/version-1.0/installation/worker/worker.md create mode 100644 versioned_docs/version-1.0/reference/_category_.json create mode 100644 versioned_docs/version-1.0/reference/api/_category_.json create mode 100644 versioned_docs/version-1.0/reference/api/admin/_category_.json create mode 100644 versioned_docs/version-1.0/reference/api/admin/build-queue.md create mode 100644 versioned_docs/version-1.0/reference/api/admin/build.md create mode 100644 versioned_docs/version-1.0/reference/api/authentication.md create mode 100644 versioned_docs/version-1.0/reference/cli/_category_.json create mode 100644 versioned_docs/version-1.0/reference/cli/repo/_category_.json create mode 100644 versioned_docs/version-1.0/reference/cli/repo/add.md create mode 100644 versioned_docs/version-1.0/reference/yaml/environment.md create mode 100644 versioned_docs/version-1.0/reference/yaml/yaml.md create mode 100644 versioned_docs/version-1.0/usage/_category_.json create mode 100644 versioned_docs/version-1.0/usage/json-schema-support.md create mode 100644 versioned_docs/version-1.0/usage/managing-deployments.md create mode 100644 versioned_docs/version-1.0/usage/plugins/plugins.md create mode 100644 versioned_docs/version-1.0/usage/plugins/registry/_category_.json create mode 100644 versioned_docs/version-1.0/usage/plugins/registry/ansible.md create mode 100644 versioned_docs/version-1.0/usage/plugins/registry/vault.md create mode 100644 versioned_docs/version-1.0/usage/plugins/tutorials/_category_.json create mode 100644 versioned_docs/version-1.0/usage/plugins/tutorials/bash.md create mode 100644 versioned_docs/version-1.0/usage/quickstart.md create mode 100644 versioned_docs/version-1.1/installation/_category_.json create mode 100644 versioned_docs/version-1.1/installation/install-vela.md create mode 100644 versioned_docs/version-1.1/installation/server/docker.md create mode 100644 versioned_docs/version-1.1/installation/server/kubernetes.md create mode 100644 versioned_docs/version-1.1/installation/server/server.md create mode 100644 versioned_docs/version-1.1/installation/ui/docker.md create mode 100644 versioned_docs/version-1.1/installation/ui/kubernetes.md create mode 100644 versioned_docs/version-1.1/installation/ui/ui.md create mode 100644 versioned_docs/version-1.1/installation/worker/docker.md create mode 100644 versioned_docs/version-1.1/installation/worker/kubernetes.md create mode 100644 versioned_docs/version-1.1/installation/worker/worker.md create mode 100644 versioned_docs/version-1.1/reference/_category_.json create mode 100644 versioned_docs/version-1.1/reference/api/_category_.json create mode 100644 versioned_docs/version-1.1/reference/api/admin/_category_.json create mode 100644 versioned_docs/version-1.1/reference/api/admin/build-queue.md create mode 100644 versioned_docs/version-1.1/reference/api/admin/build.md create mode 100644 versioned_docs/version-1.1/reference/api/authentication.md create mode 100644 versioned_docs/version-1.1/reference/cli/_category_.json create mode 100644 versioned_docs/version-1.1/reference/cli/repo/_category_.json create mode 100644 versioned_docs/version-1.1/reference/cli/repo/add.md create mode 100644 versioned_docs/version-1.1/reference/yaml/environment.md create mode 100644 versioned_docs/version-1.1/reference/yaml/yaml.md create mode 100644 versioned_docs/version-1.1/usage/_category_.json create mode 100644 versioned_docs/version-1.1/usage/json-schema-support.md create mode 100644 versioned_docs/version-1.1/usage/managing-deployments.md create mode 100644 versioned_docs/version-1.1/usage/plugins/plugins.md create mode 100644 versioned_docs/version-1.1/usage/plugins/registry/_category_.json create mode 100644 versioned_docs/version-1.1/usage/plugins/registry/ansible.md create mode 100644 versioned_docs/version-1.1/usage/plugins/registry/vault.md create mode 100644 versioned_docs/version-1.1/usage/plugins/tutorials/_category_.json create mode 100644 versioned_docs/version-1.1/usage/plugins/tutorials/bash.md create mode 100644 versioned_docs/version-1.1/usage/quickstart.md create mode 100644 versioned_sidebars/version-1.0-sidebars.json create mode 100644 versioned_sidebars/version-1.1-sidebars.json create mode 100644 versions.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..2561e78 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# These owners will be the default owners for everything in the repo. +* @go-vela/admins diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..99fc8b0 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,55 @@ +# Contributing + +## Getting Started + +We'd love to accept your contributions to this project! If you are a first time contributor, please review our [Contributing Guidelines](https://go-vela.github.io/docs/community/contributing_guidelines/) before proceeding. + +### Prerequisites + +* [Review the commit guide we follow](https://chris.beams.io/posts/git-commit/#seven-rules) - ensure your commits follow our standards +* [Docusaurus](https://docusaurus.io/docs/installation) - building block for local development + +### Setup + +* [Fork](/fork) this repository + +* Clone this repository to your workstation: + +```bash +# Clone the project +git clone git@github.com:go-vela/docs.git $HOME/go-vela/docs +``` + +* Navigate to the repository code: + +```bash +# Change into the project directory +cd $HOME/go-vela/docs +``` + +* Point the original code at your fork: + +```bash +# Add a remote branch pointing to your fork +git remote add fork https://github.com/your_fork/docs +``` + +* Make sure to follow our [PR process](https://go-vela.github.io/docs/community/contributing_guidelines/#development-workflow) when opening a pull request + +Thank you for your contribution! + +## Running the website locally + +We use [Docusaurus](https://docusaurus.io/docs/installation) to build our site. + +You will need to install: + +- [Docusaurus](https://docusaurus.io/docs/installation) + +Docusaurus has some of it's own requirements, listed in their getting started docs. + +Once you've got that taken care of, from the repo root folder, run: + +``` +npm run start +``` diff --git a/.github/README.md b/.github/README.md index 58b7c88..6ff33c9 100644 --- a/.github/README.md +++ b/.github/README.md @@ -1 +1,33 @@ -# +# docs + +[![license](https://img.shields.io/crates/l/gl.svg)](../LICENSE) + +Vela is a Pipeline Automation (CI/CD) framework built on Linux container technology written in Golang. + +Vela uses a syntax similar to Docker Compose to define its configuration. This structure for repeated use, within the application, is called a pipeline and a single execution of a pipeline is referenced as a build. + +We use [Docusaurus](https://docusaurus.io/) to format and generate our website. Thanks! + +## Documentation + +For installation and usage, please [visit our user docs](https://go-vela.github.io/docs). + +## Contributing + +We are always welcome to new pull requests! + +Please see our [contributing](CONTRIBUTING.md) documentation for further instructions. + +## Support + +We are always here to help! + +Please see our [support](SUPPORT.md) documentation for further instructions. + +## Copyright and License + +``` +Copyright 2024 Target Brands, Inc. +``` + +[Apache License, Version 2.0](../LICENSE) \ No newline at end of file diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md new file mode 100644 index 0000000..c5db834 --- /dev/null +++ b/.github/SUPPORT.md @@ -0,0 +1,25 @@ +# Support + +Welcome to Vela! To get help with a specific aspect of Vela, we've provided the below information. + +## Bugs or Feature Requests + +We use GitHub for tracking bugs and feature requests. + +Please see our [contributing](CONTRIBUTING.md) documentation for further instructions. + +## Installation and Usage + +We use GitHub pages for hosting our installation and usage documentation. + +Please see our [documentation](https://go-vela.github.io/docs) site for more information. + +## Local Development + +Please see our [local development documentation](DOCS.md) for more information. + +## Questions + +We use Slack for supporting questions not already covered in the above documents. + +Please join the [#vela](https://gophers.slack.com/app_redirect?channel=CNRRKE8KY) channel. diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 0000000..b24babc --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "local>go-vela/renovate-config" + ] +} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..49a29cb --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,51 @@ +name: Publish Site + +on: + push: + branches: [main] + workflow_dispatch: + +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + build: + runs-on: linux-standard + env: + base_path: "/actions-management/actions-docs" + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 + with: + node-version: 22 + cache: "pnpm" + cache-dependency-path: pnpm-lock.yaml + + - uses: pnpm/action-setup@v2 + name: Install pnpm + with: + version: 9 + run_install: true + + - name: Build + run: pnpm build + + - name: Upload artifact + uses: actions/upload-pages-artifact@a753861a5debcf57bf8b404356158c8e1e33150c # v2 + with: + path: ./build + + publish: + needs: build + runs-on: linux-standard + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@13b55b33dd8996121833dbc1db458c793a334630 # v3 diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml new file mode 100644 index 0000000..dbe556a --- /dev/null +++ b/.github/workflows/test-deploy.yml @@ -0,0 +1,26 @@ +name: Test deployment + +on: + pull_request: + branches: + - main + # Review gh actions docs if you want to further define triggers, paths, etc + # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on + +jobs: + test-deploy: + name: Test deployment + runs-on: linux-standard + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + + - name: Install dependencies + run: pnpm install + - name: Test build website + run: pnpm build diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b2d6de3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..ae6021a --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +registry="https://registry.npmjs.org/" \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..04025e6 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v21.5.0 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0c6c2c2 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# Website + +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +### Installation + +``` +$ yarn +``` + +### Local Development + +``` +$ yarn start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +### Build + +``` +$ yarn build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +### Deployment + +Using SSH: + +``` +$ USE_SSH=true yarn deploy +``` + +Not using SSH: + +``` +$ GIT_USER= yarn deploy +``` + +If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/blog/10919.png b/blog/10919.png new file mode 100644 index 0000000000000000000000000000000000000000..28a5ba000b906b67a196bf93b01d35fd908c8a7e GIT binary patch literal 232111 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 LNkvXXu0mjfG#t+r literal 0 HcmV?d00001 diff --git a/blog/2024-12-04-first-blog-post.md b/blog/2024-12-04-first-blog-post.md new file mode 100644 index 0000000..138d635 --- /dev/null +++ b/blog/2024-12-04-first-blog-post.md @@ -0,0 +1,16 @@ +--- +slug: first-blog-post +title: Welcome to the Vela Prototype +authors: [vader, sanders] +tags: [cicd, vela] +--- + +Welcome to the Vela (VEE-la) docsite! This page covers the core components of building pipelines. We will walk through the components that make up a pipeline and show how/where they are used inside a Vela YAML file (Can be .vela.yml or .vela.yaml) at the base of a GitHub repository. + + + +Vela has a few core pipeline types known as steps, stages, and templates. Steps pipelines should be used in situations when everything in the workflow needs to be accomplished sequentially. Stages are pipelines that are leveraged when workflows can or need to run in parallel. Lastly, templates, the goal with these pipelines is to identify one too many tasks that can be abstracted and used repeatedly. A common use case for templates is matrix builds. Accomplishing a set of tasks with slight variations between them. + +All tasks in Vela pipelines execute commands inside ephemeral Docker containers. By integrating with Docker we provide isolation between steps and allow for safe execution of concurrent tasks on the same machine. Using containers also empowers users to customize the build dependencies or automation utilities they want Vela to perform within their pipeline. + +A plugin is a Docker container that performs a pre-defined set of tasks and typically is configured as a step in pipelines. Plugins can be used to deploy code, publish artifacts, send notifications, and much more. Additionally, for even more powerful workflows you can string together a set of plugins into a single template to create reusable pipelines across your applications. Users can create one or many templates, to be stored in separate files, and then reference each template in the full pipeline configuration. diff --git a/blog/22219.jpeg b/blog/22219.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ecfab521b8a58f8fb73d9b1ebafc6ab12466d86f GIT binary patch literal 21941 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
    o26jUX_#tN6EDH4(j!YDX+GfORq)na=CmV~ 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. +::: + +### Step 3: Create a Shared Secret + +:::info +Skip this step if you are utilizing the [worker registration auth flow](/docs/installation/worker/docker/#worker-registration-and-auth-refresh) +::: + +Create a shared secret used for authenticating communication between workers and the server. + +You can use the [`openssl` command](https://www.openssl.org/) to generate the shared secret: + +```shell +$ openssl rand -hex 16 +``` + +### Step 4: Create the private key + +Create a private key used for minting and validating user, worker auth, and build JWT tokens. + +You can also use the [`openssl` command](https://www.openssl.org/) to generate the key. + +```shell +$ openssl rand -hex 16 +``` + +### Step 5: Create the signing key pair + +Create a key pair (ed25519) used for signing queue items. Items are signed via private key and opened via public key in the server and worker, respectively. The key pair must be base64 encoded prior to being supplied to the server. The server distributes the public key to registered workers, therefore both keys must be provided to the server. + +To make it easier, you can use this [Go Playground program](https://go.dev/play/p/-go_7SnJbnP) to generate an encoded key pair that is ready to use. For security we recommend running the program locally. + +:::info +The private key is used to sign items in the server. +The public key is used to open items in the worker. +Both keys are provided to the server. +::: + +### Step 6: Create an OAuth Application + +Vela requires OAuth application credentials from a source control management (SCM) provider. + +These credentials are used to authenticate and authorize actions preformed within the platform. + +Vela has support for many Source Control Management (SCM) providers to enable the preferences of you and your team. + +You can follow the [SCM reference](/docs/installation/server/reference/scm/) for instructions on creating the OAuth application. + +### Step 7: Start the Server + +Start the Vela server as a [Docker container](https://docs.docker.com/get-started/overview/#containers) that is configured via environment variables. + +You can use the [`docker run` command](https://docs.docker.com/engine/reference/commandline/run/) to start the server: +```shell +$ docker run \ + --detach=true \ + --env=VELA_ADDR=https://vela-server.example.com \ + --env=VELA_DATABASE_ENCRYPTION_KEY= \ + --env=VELA_QUEUE_DRIVER=redis \ + --env=VELA_QUEUE_ADDR=redis://@:/ \ + --env=VELA_QUEUE_PRIVATE_KEY= \ + --env=VELA_QUEUE_PUBLIC_KEY= \ + --env=VELA_PORT=443 \ + --env=VELA_SERVER_PRIVATE_KEY= \ + --env=VELA_SCM_CLIENT= \ + --env=VELA_SCM_SECRET= \ + --env=VELA_WEBUI_ADDR=https://vela.example.com \ + --name=server \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + target/vela-server:latest +``` + +:::info +If using the [server-worker trusted symmetric auth method](/docs/installation/worker/docker/#worker-server-trusted-symmetric-token), be sure to add the `VELA_SECRET` env variable: +```shell + --env=VELA_SECRET= +``` +For a full list of configuration options, please see the [server reference](/docs/installation/server/reference/). +::: + +### Step 8: Verify the Server Logs + +Ensure the server started up successfully and is running as expected by viewing the logs. + +You can use the [`docker logs` command](https://docs.docker.com/engine/reference/commandline/logs/) to inspect the logs: + +```shell +$ docker logs server +``` + +### Step 9: Install Workers + +After the server is up and running, you need to install workers to run workloads. + +Please refer to [the worker installation docs](/docs/installation/worker/) for more information. \ No newline at end of file diff --git a/docs/installation/server/kubernetes.md b/docs/installation/server/kubernetes.md new file mode 100644 index 0000000..2eac8ff --- /dev/null +++ b/docs/installation/server/kubernetes.md @@ -0,0 +1,31 @@ +--- +sidebar_position: 3 +--- + +# Kubernetes + +## Prerequisites + +This section provides all required dependencies to install and start the server with Kubernetes. + +### Dependency 1: Kubernetes + +[Kubernetes](https://kubernetes.io/) will be used for downloading the server and managing the lifecycle of the application. + +You can refer to [Kubernetes' official documentation](https://kubernetes.io/docs/setup/) on installing and configuring the service. + +### Dependency 2: Redis + +[Redis](https://redis.io/) will be used for storing workloads, created by the server, that will run on a [worker](/docs/installation/worker/worker.md). + +You can refer to [Redis's official documentation](https://redis.io/topics/quickstart/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the server with Kubernetes. + +This example only shows a subset of all possible configuration options. + +### Step 1: TODO + +TODO \ No newline at end of file diff --git a/docs/installation/server/server.md b/docs/installation/server/server.md new file mode 100644 index 0000000..f84b38e --- /dev/null +++ b/docs/installation/server/server.md @@ -0,0 +1,31 @@ +--- +sidebar_position: 1 +--- +# Server + +Known as the brains of the Vela application, this service is responsible for managing the state of application resources. + +This includes managing resources in the system (repositories, users etc.) and storing resource data in the database. + +Additionally, the server responds to event-driven requests (webhooks) which creates new builds to run on a [worker](/docs/installation/worker/worker.md). + +After a build is created, it is pushed to the queue which will be retrieved and executed by a worker. + +As a build is run by a worker, it will send requests to the server's API which stores the state of the build in the database. + +![Build Workflow](/img/build_workflow.png) + +## Deployment Guides + +Vela supports a number of deployment strategies to enable the preferences of you and your team. + +This section provides a list of comprehensive guides to install and start the server: + +### Docker + +From the [Docker official website](https://docker.io/): + +> Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle. + +Please refer to [our Docker deployment guide](/docs/installation/server/docker.md) to get started. + diff --git a/docs/installation/ui/docker.md b/docs/installation/ui/docker.md new file mode 100644 index 0000000..34ede85 --- /dev/null +++ b/docs/installation/ui/docker.md @@ -0,0 +1,68 @@ +--- +sidebar_position: 2 +--- + +# Docker + +## Prerequisites + +This section provides all required dependencies to install and start the UI with Docker. + +### Dependency 1: Docker + +[Docker](https://docs.docker.com/) will be used for downloading the UI and managing the lifecycle of the application. + +You can refer to [Docker's official documentation](https://docs.docker.com/get-docker/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the UI with Docker. + +This example only shows a subset of all possible configuration options. + +### Step 1: Download the Image + +Download the [Docker image](https://docs.docker.com/get-started/overview/#images) for the Vela UI from [DockerHub](https://hub.docker.com/). + +You can use the [`docker pull` command](https://docs.docker.com/engine/reference/commandline/pull/) to download the image: + +```shell +$ docker pull target/vela-ui:latest +``` + +:::info +The `latest` tag will ensure you install the most-recent version of the Vela UI. + +To see the full list of available versions, please refer to [the official registry](https://hub.docker.com/r/target/vela-ui). +::: + +### Step 2: Start the UI + +Start the Vela UI as a [Docker container](https://docs.docker.com/get-started/overview/#containers) that is configured via environment variables. + +You can use the [`docker run` command](https://docs.docker.com/engine/reference/commandline/run/) to start the worker: + +```shell +$ docker run \ + --detach=true \ + --env=VELA_API=https://vela-server.example.com \ + --name=ui \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + target/vela-ui:latest +``` + +:::info +For a full list of configuration options, please see the [UI reference](/docs/installation/ui/reference/). +::: + +### Step 3: Verify the UI Logs + +Ensure the UI started up successfully and is running as expected by inspecting the logs. + +You can use the [`docker logs` command](https://docs.docker.com/engine/reference/commandline/logs/) to verify the logs: + +```shell +$ docker logs ui +``` \ No newline at end of file diff --git a/docs/installation/ui/kubernetes.md b/docs/installation/ui/kubernetes.md new file mode 100644 index 0000000..4758635 --- /dev/null +++ b/docs/installation/ui/kubernetes.md @@ -0,0 +1,24 @@ +--- +sidebar_position: 3 +--- +# Kubernetes + +## Prerequisites + +This section provides all required dependencies to install and start the UI with Kubernetes. + +### Dependency 1: Kubernetes + +[Kubernetes](https://kubernetes.io/) will be used for downloading the UI and managing the lifecycle of the application. + +You can refer to [Kubernetes' official documentation](https://kubernetes.io/docs/setup/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the UI with Kubernetes. + +This example only shows a subset of all possible configuration options. + +### Step 1: TODO + +TODO \ No newline at end of file diff --git a/docs/installation/ui/ui.md b/docs/installation/ui/ui.md new file mode 100644 index 0000000..13e9413 --- /dev/null +++ b/docs/installation/ui/ui.md @@ -0,0 +1,34 @@ +--- +sidebar_position: 1 +--- +# UI + +Known as the user interface for the Vela application, often referred to as the Vela UI, this service provides a means for utilizing and interacting with the Vela platform. + +The Vela UI aims to provide users with an easy-to-use toolbox that supplies most of the functionality necessary for managing, investigating, and successfully troubleshooting Vela pipelines. + +This array of functionality includes viewing and managing resources in the system, enabling repositories, compiling pipelines, viewing logs etc. Most of these actions are performed through interacting with the server API on the user's behalf. + +The UI also offers a quick glance into additional pipeline information, including any errors that might be interfering with the success of your pipeline, such as webhook processing issues returned by the SCM or user pipeline syntax mistakes. The purpose of the UI is to make managing and debugging Vela pipelines not only possible, but approachable. + +## Deployment Guides + +Vela supports a number of deployment strategies to enable the preferences of you and your team. + +This section provides a list of comprehensive guides to install and start the UI: + +### Docker + +From the [Docker official website](https://docker.io/): + +> Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle. + +Please refer to [our Docker deployment guide](/docs/installation/ui/docker/) to get started. + +### Kubernetes + +From the [Kubernetes official website](https://kubernetes.io/): + +> Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. + +Please refer to [our Kubernetes deployment guide](/docs/installation/ui/kubernetes/) to get started. \ No newline at end of file diff --git a/docs/installation/worker/docker.md b/docs/installation/worker/docker.md new file mode 100644 index 0000000..fa6e2a4 --- /dev/null +++ b/docs/installation/worker/docker.md @@ -0,0 +1,121 @@ +--- +sidebar_position: 2 +--- + +# Docker + +## Prerequisites + +This section provides all required dependencies to install and start the worker with Docker. + +### Dependency 1: Docker + +[Docker](https://docs.docker.com/) will be used for downloading the worker and managing the lifecycle of the application. + +You can refer to [Docker's official documentation](https://docs.docker.com/get-docker/) on installing and configuring the service. + +### Dependency 2: Redis + +[Redis](https://redis.io/) will be used for storing workloads, created by the [server](/docs/installation/server/server.md), that will be run by a worker. + +You can refer to [Redis's official documentation](https://redis.io/topics/quickstart/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the worker with Docker. + +This example only shows a subset of all possible configuration options. + +### Step 1: Download the Image + +Download the [Docker image](https://docs.docker.com/get-started/overview/#images) for the Vela worker from [DockerHub](https://hub.docker.com/). + +You can use the [`docker pull` command](https://docs.docker.com/engine/reference/commandline/pull/) to download the image: + +```shell +$ docker pull target/vela-worker:latest +``` + +:::info +The `latest` tag will ensure you install the most-recent version of the Vela worker. + +To see the full list of available versions, please refer to [the official registry](https://hub.docker.com/r/target/vela-worker). +::: + +### Step 2: Determine Worker Authentication and Start Worker + +Currently, Vela supports two methods of maintaining authentication between the worker and the server. + +Take care to read through both options to determine which setup makes the most sense for your installation: + +##### Worker-Server Trusted Symmetric Token + +This authentication method involves using the same secret generated as the `VELA_SECRET` during the [server installation](/docs/installation/server/docker/#step-3-create-a-shared-secret) as the bearer token for all API requests related to check-in and build tokens from the worker to the server. + +The token is non-expiring and exists within the container environment. Once the server is running, all that is necessary for a worker to connect to the server and pull builds from the queue is simply starting the worker container: + +```shell +$ docker run \ + --detach=true \ + --env=VELA_QUEUE_DRIVER=redis \ + --env=VELA_SERVER_ADDR=https://vela-server.example.com \ + --env=VELA_SERVER_SECRET= \ + --env=VELA_WORKER_ADDR=https://vela-worker.example.com \ + --name=worker \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + --volume=/var/run/docker.sock:/var/run/docker.sock \ + target/vela-worker:latest +``` + +The worker must still pass its check-in with the server in order to pull builds from the queue. + +##### Worker Registration and Auth Refresh + +This authentication method is the more secure of the two options. Rather than using a non-expiring token in the container environment, platform administrators can register workers using their credentials via the Vela CLI. In order to leverage this method, simply do NOT supply the [`VELA_SECRET`](/docs/installation/server/reference/#vela_secret) to the server and do NOT supply the [`VELA_SERVER_SECRET`](/docs/installation/worker/reference/#vela_server_secret) to the worker. + +To start, launch the worker container: + +```shell +$ docker run \ + --detach=true \ + --env=VELA_QUEUE_DRIVER=redis \ + --env=VELA_SERVER_ADDR=https://vela-server.example.com \ + --env=VELA_WORKER_ADDR=https://vela-worker.example.com \ + --name=worker \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + --volume=/var/run/docker.sock:/var/run/docker.sock \ + target/vela-worker:latest +``` + +Once the worker has started, it will be in a paused state until a platform admin registers the worker: + +```shell +$ vela login --api.addr https://vela-server.example.com + +$ vela add worker --worker.hostname vela-worker --worker.address https://vela-worker.example.com + +worker registered successfully +``` + +This process involves the generation of a registration token, which can only be done by platform admins. The quickly expiring registration token is then passed to the worker using an http request to the worker's `/register` endpoint. The worker exchanges this registration token with the server for an auth token. + +:::info +IMPORTANT: When using this method, ensure that the [`VELA_WORKER_AUTH_TOKEN_DURATION`](/docs/installation/server/reference/#vela_worker_auth_token_duration) configured in the server is _longer_ than the [`VELA_CHECK_IN`](/docs/installation/worker/reference/#vela_check_in) configured in the worker. This ensures that all requests made by the worker are done with a valid token, refreshed at each check-in. +::: + +Once registered, the worker will continue refreshing its authentication token at the specified check in interval. Workers that lose their connection to the server for long enough for their existing auth +token to expire will need to be re-registered. + +### Step 3: Verify the Worker Logs + +Ensure the worker started up successfully and is running as expected by inspecting the logs. + +You can use the [`docker logs` command](https://docs.docker.com/engine/reference/commandline/logs/) to verify the logs: + +```shell +$ docker logs worker +``` diff --git a/docs/installation/worker/kubernetes.md b/docs/installation/worker/kubernetes.md new file mode 100644 index 0000000..df4cee7 --- /dev/null +++ b/docs/installation/worker/kubernetes.md @@ -0,0 +1,266 @@ +--- +sidebar_position: 3 +--- +# Kubernetes + +## Prerequisites + +This section provides all required dependencies to install and start the worker with Kubernetes. + +### Dependency 1: Kubernetes + +[Kubernetes](https://kubernetes.io/) will be used for downloading the worker and managing the lifecycle of the application. + +You can refer to [Kubernetes' official documentation](https://kubernetes.io/docs/setup/) on installing and configuring the service. + +### Dependency 2: Redis + +[Redis](https://redis.io/) will be used for storing workloads, created by the [server](/docs/installation/worker/worker.md), that will be run by a worker. + +You can refer to [Redis's official documentation](https://redis.io/topics/quickstart/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the worker with Kubernetes. + +This example only shows a subset of all possible configuration options. + +### Step 1: Create a Worker Secret and ConfigMap + +You will need to store some env vars in a `Secret`, and the rest can go in a `ConfigMap`. + +:::info +Determine which worker auth method to use for worker-server communication before writing the `ConfigMap`. Details of the two offerings can be found [here](/docs/installation/worker/docker/#step-2-determine-worker-authentication-and-start-worker). +::: + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: vela-worker + namespace: default +data: + # these values are base64 encoded + + # this value should only be specified if using the server-worker trusted symmetric token auth method. + VELA_SERVER_SECRET: PHNoYXJlZC1zZWNyZXQ+ + # VELA_SERVER_SECRET: +``` + +Do not store any passwords in the `ConfigMap`. The `ConfigMap` is more convenient for everything else. + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: vela-worker + namespace: default +data: + # This might be "http://vela-server:8080" if vela-server is also deployed in k8s. + VELA_SERVER_ADDR: https://vela-server.example.com + + VELA_QUEUE_DRIVER: redis + + VELA_EXECUTOR_DRIVER: linux + + VELA_RUNTIME_DRIVER: kubernetes + VELA_RUNTIME_NAMESPACE: default + VELA_RUNTIME_PODS_TEMPLATE_NAME: pipeline-pods-template + + # do not define VELA_WORKER_ADDR here. See "Create a Worker Deployment" below. + + # VELA_RUNTIME_CONFIG is not needed in-cluster. + # We'll use the auto-mounted ServiceAccount Token. +``` + +And then load them in your cluster. + +```shell +$ kubectl apply -f worker-secret.yaml +$ kubectl apply -f worker-configmap.yaml +``` + +:::info +For a full list of configuration options, please see the [worker reference](/docs/installation/worker/reference/). +::: + + +### Step 2: Load the Pipeline Pods Template CRD + +Download Vela's "Pipeline Pods Template" Custom Resource Definition (CRD). +Be sure to replace `v0.14.0` with the version you're installing. + +```shell +$ curl https://raw.githubusercontent.com/go-vela/worker/v0.14.0/runtime/kubernetes/generated/go-vela.github.io_pipelinepodstemplates.yaml -o go-vela.github.io_pipelinepodstemplates.yaml +``` + +And then add the CRD to your cluster. + +```shell +$ kubectl apply -f go-vela.github.io_pipelinepodstemplates.yaml +``` + +### Step 3: Create a Pipeline Pods Template + +The Pipeline Pods Template allows you to define `annotations`, `securityContext`, `dnsConfig` +and other settings that the worker should add to every Pipeline's `Pod`. + +```yaml +apiVersion: go-vela.github.io/v1alpha1 +kind: PipelinePodsTemplate +metadata: + name: pipeline-pods-template # this should match VELA_RUNTIME_PODS_TEMPLATE_NAME + namespace: default +spec: + # spec.template is a subset of what is possible to define in a Deployment's "spec.template". + template: + + metadata: + # custom annotations to add to all pipeline pods + annotations: + example.com/owner: devops + #labels: + + #spec: + # dnsConfig: {} + # dnsPolicy: ClusterFirst + + # nodeSelector: {} + # tolerations: [] + # affinity: {} + + # # These gets applied to all containers in the Pipeline Pod. + # container: + # securityContext: + # capabilities: + # drop: ["ALL"] + # add: [] +``` + +And then your `PipelinePodsTemplate` to your cluster. + +```shell +$ kubectl apply -f pipeline-pods-template.yaml +``` + +### Step 5: Create a ServiceAccount, Role, and RoleBinding + +The Worker needs access to Kubernetes APIs. It uses an auto-mounted ServiceAcount token to do this. + +Here is a ServiceAccount: +```yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: vela-worker + namespace: default +``` + +Here's the Role you'll need: +```yaml +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: vela-worker + namespace: default +rules: + - apiGroups: [""] + resources: [pods/log] + verbs: [get, list, watch] + - apiGroups: [""] + resources: [pods] + verbs: [create, patch, get, list, update, watch, delete] + - apiGroups: ["go-vela.github.io"] + resources: [pipelinepodstemplate] + verbs: [get, list, watch] +``` + +And use this RoleBinding: +```yaml +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: vela-worker + namespace: default +subjects: + - kind: ServiceAccount + name: vela-worker + namespace: default +roleRef: + kind: Role + name: vela-worker + apiGroup: rbac.authorization.k8s.io +``` + +Then apply each of these to your cluster: + +```shell +$ kubectl apply -f worker-serviceaccount.yaml +$ kubectl apply -f worker-role.yaml +$ kubectl apply -f worker-role-binding.yaml +``` + +### Step 5: Create a Worker Deployment + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: vela-worker + namespace: default + labels: + app.kubernetes.io/name: vela-worker +spec: + replicas: 1 # Increase this to deploy more worker pods. + selector: + matchLabels: + app.kubernetes.io/name: vela-worker + serviceAccount: vela-worker + containers: + - name: worker + image: target/vela-worker:v0.13.0 + ports: + - {name: http, port: 8080, protocol: TCP} + livenessProbe: + httpGet: {path: /health, port: 8080, scheme: HTTP} + env: + - {name: VELA_WORKER_ADDR_SCHEME, value: http} + - {name: VELA_WORKER_ADDR_PORT, value: "8080"} + - name: VELA_WORKER_POD_NAME + valueFrom: + fieldRef: {fieldPath: metadata.name} + - name: VELA_WORKER_POD_IP + valueFrom: + fieldRef: {fieldPath: status.podIP} + # using the pod name does not get a dns entry without a lot of unnecessary effort. + # So, here we use status.podIP instead of metadata.name + - name: VELA_WORKER_ADDR + value: $(VELA_WORKER_ADDR_SCHEME)://$(WORKER_POD_IP):$(VELA_WORKER_ADDR_PORT) + envFrom: + - configMapRef: + name: vela-worker + - secretRef: + name: vela-worker +``` + +And then load it in your cluster. + +```shell +$ kubectl apply -f worker-deployment.yaml +``` + +### Step 6: Verify the Worker Deployment + +Ensure the worker started up successfully and is running as expected by inspecting details with `kubectl`. + +```shell +$ kubectl describe deployment vela-worker +$ kubectl get pods -l app.kubernetes.io/name=vela-worker +``` + +You can also check the worker logs with `stern`. The following command will tail all of the logs +for pods that start with `vela-worker-`: + +```shell +$ stern vela-worker- +``` \ No newline at end of file diff --git a/docs/installation/worker/worker.md b/docs/installation/worker/worker.md new file mode 100644 index 0000000..f9143f3 --- /dev/null +++ b/docs/installation/worker/worker.md @@ -0,0 +1,33 @@ +--- +sidebar_position: 1 +--- + +# Worker + +Known as the brawn of the Vela application, this service is responsible for managing the state of build resources. + +This includes pulling the build, provided by the [server](/docs/installation/server/overview.md), from the queue to be run. + +When a build is fetched from the queue, the worker will create and delete resources through the lifecycle of the build. + +During this time, the worker will send API requests to the server to report the status and progress of these resources. + +Additionally, the worker has its own API for processing web requests. + +![Build Workflow](/img/build_workflow.png) + +## Deployment Guides + +Vela supports a number of deployment strategies to enable the preferences of you and your team. + +This section provides a list of comprehensive guides to install and start the worker: + +### Docker + +From the [Docker official website](https://docker.io/): + +> Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle. + +Please refer to [our Docker deployment guide](/docs/installation/server/docker.md) to get started. + + diff --git a/docs/reference/_category_.json b/docs/reference/_category_.json new file mode 100644 index 0000000..6a91167 --- /dev/null +++ b/docs/reference/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Reference", + "position": 3, + "link": { + "type": "generated-index", + } +} diff --git a/docs/reference/api/_category_.json b/docs/reference/api/_category_.json new file mode 100644 index 0000000..cccf88d --- /dev/null +++ b/docs/reference/api/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "API", + "position": 1, + "link": {"type": "generated-index"}, +} diff --git a/docs/reference/api/admin/_category_.json b/docs/reference/api/admin/_category_.json new file mode 100644 index 0000000..e4d6677 --- /dev/null +++ b/docs/reference/api/admin/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Admin", + "position": 2, +"link": {"type": "generated-index"}, +} \ No newline at end of file diff --git a/docs/reference/api/admin/build-queue.md b/docs/reference/api/admin/build-queue.md new file mode 100644 index 0000000..5adda20 --- /dev/null +++ b/docs/reference/api/admin/build-queue.md @@ -0,0 +1,97 @@ +--- +title: "Build Queue" +linkTitle: "Build Queue" +description: > + Learn how to list all running and pending builds. +--- + +## Endpoint + +``` +GET /api/v1/admin/builds/queue +``` + +## Responses + +| Status Code | Description | +| ----------- | --------------------------------------------------- | +| `200` | indicates the request has succeeded | +| `401` | indicates the user does not have proper permissions | + +## Sample + +:::warning +This section assumes you already know how to authenticate to the API. + +To authenticate to the API, please review the [authentication documentation](/docs/reference/api/authentication/). +::: + +#### Request + +```sh +curl \ + -X GET \ + -H "Authorization: Bearer " \ + "http://127.0.0.1:8080/api/v1/admin/builds/queue" +``` + +#### Response + +```json +[ + { + "id": 2, + "repo_id": 2, + "number": 1, + "parent": 1, + "event": "push", + "status": "pending", + "error": "", + "enqueued": 1563474204, + "created": 1563474204, + "started": 1563474204, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "Second commit...", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "ed95dcc0687c", + "runtime": "", + "distribution": "" + }, + { + "id": 1, + "repo_id": 1, + "number": 1, + "parent": 1, + "event": "push", + "status": "running", + "error": "", + "enqueued": 1563474077, + "created": 1563474076, + "started": 1563474077, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "First commit...", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "82823eb770b0", + "runtime": "", + "distribution": "" + } +] +``` \ No newline at end of file diff --git a/docs/reference/api/admin/build.md b/docs/reference/api/admin/build.md new file mode 100644 index 0000000..30b0b29 --- /dev/null +++ b/docs/reference/api/admin/build.md @@ -0,0 +1,105 @@ +--- +title: "Build" +linkTitle: "Build" +description: > + Learn how to update a build as an admin in the system. +--- + +## Endpoint + +``` +PUT /api/v1/admin/build +``` + +## Responses + +| Status Code | Description | +| ----------- | --------------------------------------------------- | +| `200` | indicates the request has succeeded | +| `401` | indicates the user does not have proper permissions | + +## Sample + +:::warning +This section assumes you already know how to authenticate to the API. + +To authenticate to the API, please review the [authentication documentation](/docs/reference/api/authentication/). +::: + +Note: You must provide the entire build object, as this endpoint overwrites the +existing entry for the build. + +#### File + +```json +{ + "id": 1, + "repo_id": 1, + "number": 1, + "parent": 1, + "event": "push", + "status": "created", + "error": "", + "enqueued": 1563474077, + "created": 1563474076, + "started": 1563474077, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "this is an updated message", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "company.localhost", + "runtime": "docker", + "distribution": "linux" +} +``` + +#### Request + +```sh +curl \ + -X PUT \ + -H "Authorization: Bearer " \ + -H "Content-Type: application/json" \ + -d "@data.json" \ + "http://127.0.0.1:8080/api/v1/admin/build" +``` + +#### Response + +```json +{ + "id": 1, + "repo_id": 1, + "number": 1, + "parent": 1, + "event": "push", + "status": "created", + "error": "", + "enqueued": 1563474077, + "created": 1563474076, + "started": 1563474077, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "this is an updated message", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "company.localhost", + "runtime": "docker", + "distribution": "linux" +} +``` diff --git a/docs/reference/api/authentication.md b/docs/reference/api/authentication.md new file mode 100644 index 0000000..4d0c348 --- /dev/null +++ b/docs/reference/api/authentication.md @@ -0,0 +1,54 @@ +--- +title: "Authentication" +linkTitle: "Authentication" +weight: 5 +description: > + Learn how authenticating to the Vela API works. +--- + +## Overview + +Authentication for the Vela API is the responsibility of the client initiating the request. + +Each request requires a token to be provided as an `Authorization` HTTP header. + +The content of this header should be using the `Bearer ` scheme. + +```sh +Authorization: Bearer +``` + +:::tip +For more information, you can visit the [Swagger authentication documentation](https://swagger.io/docs/specification/authentication/bearer-authentication/). +::: + +## Format + +Vela tokens are based off the format of the [JSON Web Token](https://jwt.io/) (a.k.a. JWT) standard. + +The token can be broken down into 3 distinct sections, separated by periods (`.`): + +* **Header** - metadata about the type of token and the signing algorithm used +* **Payload** - data (a.k.a. claims) providing additional information +* **Signature** - encoded string based off the header, payload and secret + +```sh +# syntax +header.payload.signature + +# sample +xxxxx.yyyyy.zzzzz +``` + +:::tip +For more information, you can visit the [JWT introduction documentation](https://jwt.io/introduction/). +::: + +## Sample + +```sh +curl \ + -X GET \ + -H "Authorization: Bearer " \ + "http://127.0.0.1:8080/api/v1/users" +``` diff --git a/docs/reference/cli/_category_.json b/docs/reference/cli/_category_.json new file mode 100644 index 0000000..5569091 --- /dev/null +++ b/docs/reference/cli/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "CLI", + "position": 1, + "link": {"type": "generated-index"}, +} diff --git a/docs/reference/cli/repo/_category_.json b/docs/reference/cli/repo/_category_.json new file mode 100644 index 0000000..da68eb5 --- /dev/null +++ b/docs/reference/cli/repo/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Repo", + "position": 1, + "link": {"type": "generated-index"}, +} diff --git a/docs/reference/cli/repo/add.md b/docs/reference/cli/repo/add.md new file mode 100644 index 0000000..5404cba --- /dev/null +++ b/docs/reference/cli/repo/add.md @@ -0,0 +1,97 @@ +--- +title: "Add" +sidebar_position: 1 +--- + +## Command + +``` +$ vela add repo +``` + +:::info +For more information, you can run `vela add repo --help`. +::: + +## Parameters + +The following parameters are used to configure the command: + +| Name | Description | Environment Variables | +| --------------- | -------------------------------------------------- | -------------------------------------- | +| `org` | name of organization for the repository | `VELA_ORG`, `REPO_ORG` | +| `repo` | name of repository | `VELA_REPO`, `REPO_NAME` | +| `branch` | default branch for the repository | `VELA_BRANCH`, `REPO_BRANCH` | +| `link` | full URL for the repository | `VELA_LINK`, `REPO_LINK` | +| `clone` | clone URL for the repository | `VELA_CLONE`, `REPO_CLONE` | +| `visibility` | access level required to view the repository | `VELA_VISIBILITY`, `REPO_VISIBILITY` | +| `build.limit` | limit of concurrent builds allowed for repository | `VELA_BUILD_LIMIT`, `REPO_BUILD_LIMIT` | +| `timeout` | max time allowed per build | `VELA_TIMEOUT`, `REPO_TIMEOUT` | +| `counter` | set a value for a new build number | `VELA_COUNTER`, `REPO_COUNTER` | +| `private` | disables public access to the repository | `VELA_PRIVATE`, `REPO_PRIVATE` | +| `trusted` | elevates permissions for builds for the repository | `VELA_TRUSTED`, `REPO_TRUSTED` | +| `active` | enables/disables the repository | `VELA_ACTIVE`, `REPO_ACTIVE` | +| `event` | events to trigger builds for the repository | `VELA_EVENTS`, `REPO_EVENTS` | +| `pipeline-type` | type of base pipeline for the compiler to render | `VELA_PIPELINE_TYPE`, `PIPELINE_TYPE` | +| `output` | format the output for the repository | `VELA_OUTPUT`, `REPO_OUTPUT` | + +:::info +This command also supports setting the following parameters via a configuration file: + +- `org` +- `repo` +- `output` + +For more information, please review the [CLI config documentation](/docs/reference/cli/config/). +::: + +## Sample + +:::info +This section assumes you have already installed and setup the CLI. + +To install the CLI, please review the [installation documentation](/docs/reference/cli/install/). + +To setup the CLI, please review the [authentication documentation](/docs/reference/cli/authentication/). +::: + +#### Request + +```sh +$ pwd +~/github/octocat +$ vela add repo +``` + +#### Targeted Request + +```sh +$ vela add repo --org github --repo octocat +``` + +#### Response + +```sh +id: 1 +userid: 1 +org: github +name: octocat +fullname: github/octocat +link: https://github.com/github/octocat +clone: https://github.com/github/octocat.git +branch: main +buildlimit: 10 +timeout: 60 +timeout: 0 +visibility: public +private: false +trusted: false +active: true +allowpull: true +allowpush: true +allowdeploy: false +allowtag: false +allowcomment: false +allowevents: [push pull_request:opened pull_request:synchronize ] +pipelinetype: yaml +``` diff --git a/docs/reference/yaml/environment.md b/docs/reference/yaml/environment.md new file mode 100644 index 0000000..95b944d --- /dev/null +++ b/docs/reference/yaml/environment.md @@ -0,0 +1,16 @@ +--- +title: "Environment" +linkTitle: "Environment" +--- + +The environment key is intended to be used to inject a global environment configuration into steps, services and secret containers. Control of which container types get the injected environment settings is available via the metadata block. + +```yaml +--- +# This document is displaying using the environment key with a map syntax. +# Additionally, you can also use array syntax where the items in +# they array are of pattern HELLO="Hello, Vela!" +environment: + HELLO: "Hello, Vela!" +``` + diff --git a/docs/reference/yaml/yaml.md b/docs/reference/yaml/yaml.md new file mode 100644 index 0000000..c69e36c --- /dev/null +++ b/docs/reference/yaml/yaml.md @@ -0,0 +1,62 @@ +--- +title: "YAML" +linkTitle: "YAML" +--- + +Steps and Stages Pipeline use "YAML Ain’t Markup Language" (YAML) which is a data serialization language designed to be human friendly. Vela accepts YAML files with either a `.yml` or `.yaml` extension. If you'd like to learn more about the YAML language, we recommend you see, "[Learn YAML in five minutes.](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)". + +:::info +The design goals for YAML are, in decreasing priority: + +1. YAML is easily readable by humans. +2. YAML data is portable between programming languages. +3. YAML matches the native data structures of agile languages. +4. YAML has a consistent model to support generic tools. +5. YAML supports one-pass processing. +6. YAML is expressive and extensible. +7. YAML is easy to implement and use. + +See YAML [design goals](https://yaml.org/spec/1.2/spec.html#Introduction) from spec. +::: + +## Terminology Check + +Whether you are a YAML expert or a novice, here is some quick terminology that you should be aware of: + +:::info +You can get feedback directly on your `.vela.yml` or `.vela.yaml` pipelines in your IDE with the available [JSON Schema](/docs/usage/json-schema-support). +::: + +### Document + +A file ending with `.yml` or `.yaml` that contains contents following the YAML spec is called a document, see [YAML 1.2 spec for full details](https://yaml.org/spec/1.2/spec.html#id2800132). + +Example: + +```yml +--- +key: value +``` + +### Keys + +A YAML document is compose of one to many key-value pairs where the value is evaluated to an explicit type (Int, Float, string, bool, etc), see [YAML 1.2 spec for full details](https://yaml.org/spec/1.2/spec.html#id2761292). + +Example: + +```yml +--- +# an integer +canonical: 12345 + +# a float +canonical: 3.14159e+3 + +# a string +canonical: "Hello, World" + +# a bool +canonical: true +``` + + diff --git a/docs/usage/_category_.json b/docs/usage/_category_.json new file mode 100644 index 0000000..bb1bdb8 --- /dev/null +++ b/docs/usage/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Usage", + "position": 2, + "link": { + "type": "generated-index", + } +} diff --git a/docs/usage/json-schema-support.md b/docs/usage/json-schema-support.md new file mode 100644 index 0000000..2f730cb --- /dev/null +++ b/docs/usage/json-schema-support.md @@ -0,0 +1,9 @@ +--- +title: "JSON Schema Support" +sidebar_position: 3 +--- + +The schema gets published and updated via https://github.com/go-vela/types where it ends up as a release artifact. The latest schema is available for download from https://github.com/go-vela/types/releases/latest/download/schema.json. + +In addition, the schema is available in the JSON Schema Store project at https://www.schemastore.org. +[Supported editors](https://www.schemastore.org/json#editors) automatically use schemas that this project provides, including Vela's schema. diff --git a/docs/usage/managing-deployments.md b/docs/usage/managing-deployments.md new file mode 100644 index 0000000..0c55f91 --- /dev/null +++ b/docs/usage/managing-deployments.md @@ -0,0 +1,90 @@ +--- +sidebar_position: 4 +--- +# Managing Deployments + +Pipelines can be written with your specific branching methodology in mind but when it comes to deployments you often want to be very intentional with triggering a change. For this reason, Vela has deployments, a unique build event that is triggered directly via Vela on a specific ref (branch, SHA, tag). + +Vela leverages a deep integration with [GitHub Deployments](https://docs.github.com/en/rest/reference/repos#deployments) which will not only trigger your build but create a system of record on GitHub for your deployment action. You can leverage a deployment in your steps like: + +:::info +Make sure you have the `deployment` event enabled within repo settings + +Additionally, any secret you may need for the event must also have `deployments` allowed for events. +::: + +```yaml +# A step triggering on "all" deployment events +- name: All deployments + image: alpine + commands: + - echo "Running your deployment!" + ruleset: + event: [ deployment ] + +# A step triggering deployment to a specific target. +# Targets can be any value i.e. dev, stage, eng, prod, etc +- name: Targeted deployments + image: alpine + commands: + - echo "Running deployment for ${VELA_DEPLOYMENT}!" + ruleset: + event: [ deployment ] + target: [ dev, eng ] +``` + +## Usage + +Let us look at an example workflow for executing a deployment on your repo. You should understand the following concepts before proceeding: + +* [Steps](/docs/tour/steps/) + * [image](/docs/tour/image/) + * [Commands](/docs/tour/environment/) + * [Ruleset](/docs/tour/rulesets/) + +```yaml +version: "1" +steps: + # A step triggering on "all" deployment events + - name: All deployments + image: alpine + commands: + - echo "Running your deployment!" + ruleset: + event: [ deployment ] + + # A step triggering deployment to a specific target. + # Targets can be any value i.e. dev, stage, eng, prod, etc + - name: Targeted deployments + image: alpine + commands: + - echo "Running deployment for ${VELA_DEPLOYMENT}!" + ruleset: + event: [ deployment ] + target: [ dev, eng ] + + # Now that we know how to control a deployment, lets look + # at adding custom parameters. Sometimes not only do you need + # control of the target but you want custom data available + # when your pipeline runs. + - name: Custom parameters deployments + image: alpine + commands: + - echo "Custom parameter message, ${DEPLOYMENT_PARAMETER_MESSAGE}" + ruleset: + event: [ deployment ] + target: [ dev, eng ] +``` + +The following CLI commands will trigger the pipeline and produce different permutations of the pipeline executing: + +```sh +# Trigger deployment with no additional configuration +$ vela add deployment --org github --repo octocat + +# Trigger deployment for a repository with a specific target environment. +$ vela add deployment --org github --repo octocat --target stage + +# Add a deployment for a repository with two parameters. +$ vela add deployment --org github --repo octocat --parameter 'message=Hello, custom var!' +``` \ No newline at end of file diff --git a/docs/usage/plugins/plugins.md b/docs/usage/plugins/plugins.md new file mode 100644 index 0000000..9374264 --- /dev/null +++ b/docs/usage/plugins/plugins.md @@ -0,0 +1,85 @@ +--- +title: "Plugins" +sidebar_position: 2 +--- + +Vela contains two plugin types: + +* pipeline - designed to be used within steps, stages, and template pipelines +* secret - designed to be used within the secrets Yaml block of pipelines + +Both accept configuration via environment variables but should be used within their specific location of the Yaml pipeline. + +:::info +Before you begin your plugin journey we recommend the following pre-requisites: + +* [Steps](/docs/tour/steps/) +* [Stages](/docs/tour/stages/) +* [Templates](/docs/tour/templates/) +::: + +## Pipeline + +Pipeline plugins are designed to automate, customize, and execute your software development workflows. A pipeline plugin is a Docker container that is designed to perform a set of pre-defined actions. + +These actions can be for any number of general tasks, including: + +* deploying code +* publishing artifacts +* sending notifications +* much, much more... + +### Example + +The example we have shown is publishing an image to a registry. Pipeline plugins configuration works via environment variables that pass data from pipeline to the container at runtime. + +_Not a runnable pipeline_ +```diff +version: "1" + +steps: + - name: docker + image: target/vela-docker + pull: always ++ parameters: ++ registry: index.docker.io ++ repo: index.docker.io/octocat/hello-world +``` + +## Secret + +:::warning +Secret plugins are configured with an allow list of available images via an administator on installation. To know which secret plugins are available for your Vela installation, we recommend consulting your system administrators. +::: + +Secret plugins are designed to be used to read secrets in volumes within the Vela workspace. When a secret plugin runs the plugin should write data to the custom Vela mount (`/vela/secrets/`) as key/value pairs. Secret plugins configuration works via environment variables that pass data from pipeline to the container at runtime. + +A secret plugin works in tandem with the Vela workspace to read data from a provider and write them into an available location (`/vela/secrets`) within a pipeline. + +### Sample + +_Not a runnable pipeline_ +```diff +secrets: + - name: vault_token + key: go-vela/vault_token + engine: native + type: org + + - origin: + name: vault + image: target/secret-vault + pull: always + secrets: [ vault_token ] ++ parameters: ++ addr: vault.company.com ++ auth_method: token ++ username: octocat ++ items: ++ - source: secret/docker ++ path: docker +``` + +From the above example, will have written the following available secrets to: + +* `/vela/secrets/docker// **NOTE:** +> +> Users should refrain from using latest as the tag for the Docker image. +> +> It is recommended to use a semantically versioned tag instead. + +More information for ansible-lint can be found at: [ansible-lint docs](https://ansible-lint.readthedocs.io/en/latest/). \ +More information for ansible-playbook can be found at: [ansible-playbook docs](https://ansible-lint.readthedocs.io/en/latest/). + +### Sample for .vela.yml + +```yaml +steps: + - name: ansible-lint + image: target/vela-ansible:latest + parameters: + action: lint + playbook: "abox/main.yml" + lint_skip: + - no-changed-when + - key-order + + - name: ansible-playbook + image: target/vela-ansible:latest + parameters: + action: playbook + playbook: "abox/main.yml" + options_inventory: "abox/inventory/hosts.yml" + connection_user: root +``` + +## Parameters + +The following parameters are used to configure the image: + +| Parameter | Description | Required | Default | +| ----------- | -------------------------------------------------------------------------- | -------- | ------- | +| `log_level` | set the log level for the plugin (valid options: `info`, `debug`, `trace`) | true | info | +| `action ` | set plugin action (valid options: `lint`, `playbook`) | true | lint | + +> Note: `action` parameter will determine whether to run ansible-lint or ansible-playbook. The default is set to ansible-lint. + +### Ansible-Lint + +| Parameter | Description | Required | Default | +| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------- | +| `playbook` | playbook to be ran by ansible-lint | true | false | +| `lint_version` | returns ansible-lint version and exits the program. | false | false | +| `lint_list` | lists all the rules. | false | false | +| `lint_format` | format used rules output (rich,plain,rst,codeclimate,quiet,pep8) | false | rich | +| `lint_quieter` | quieter, although not silent output. | false | false | +| `lint_parseable` | parseable output in the format of pep8. | false | false | +| `lint_parseableseverity` | parseable output including severity of rule. | false | false | +| `lint_progressive` | return success if it detects a reduction in number of violations compared with previous git commit. This feature works only in git repositories. | false | false | +| `lint_projectdir` | location of project/repository, autodetected based on location of configuration file. | false | N/A | +| `lint_rule` | specify one or more rules directories. -r flag (lint_rule) overrides the default rules in /path/to/ansible-lint/lib/ansiblelint/rules, unless -R (lint_rulesdefault) is also used. | false | N/A | +| `lint_rulesdefault` | use default rules in /path/to/ansible-lint/lib/ansiblelint/rules in addition to any extra rules directories specified with -r (lint_rule). There is no need to specify this if no -r (lint_rule) flag/s is/are used. | false | false | +| `lint_showrelativepath` | display path relative to CWD. | false | false | +| `lint_tags` | only check rules whose id/tags match these values. | false | N/A | +| `lint_tagslist` | list all the tags. | false | false | +| `lint_verbose` | increase verbosity level. | false | false | +| `lint_skip` | only check rules whose id/tags does not match these values. | false | N/A | +| `lint_warn` | only warn about these rules, unless overridden in config file defaults to 'experimental' | false | experimental | +| `lint_enable` | activate optional rules by their tag name | false | N/A | +| `lint_nocolor` | disable colored output. | false | false | +| `lint_forcecolor` | try force colored output. | false | false | +| `lint_exclude` | path to directories or files to skip. | false | N/A | +| `lint_config` | specify a configuration file to use. | false | .ansible-lint | +| `lint_offline` | disable installation of requirements.yml | false | false | + +### Ansible-Playbook + +| Parameter | Description | Required | Default | +| ---------- | --------------------------------------- | -------- | ------- | +| `playbook` | playbook to be ran by ansible-playbook. | true | N/A | + +### ansible-playbook options + +| Parameter | Description | Required | Default | +| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------------------------------------------------------------- | +| `options_askvaultpass` | ask for vault password. | false | false | +| `options_flushcache` | clear the fact cache for every host in inventory. | false | false | +| `options_forcehandlers` | run handlers even if a task fails. | false | false | +| `options_listhosts` | outputs a list of matching hosts and exits program. | false | false | +| `options_listtags` | list all available tags | false | false | +| `options_listtasks` | list all tasks to be executed. | false | false | +| `options_skiptags` | only run plays and tasks whose tags does not match these values. | false | N/A | +| `options_startattask` | start the playbook at the task matching this name. | false | N/A | +| `options_step` | one-set-at-a-time: confirm each task before running. | false | false | +| `options_syntaxcheck` | perform a syntax check on the playbook and exits program. | false | false | +| `options_vaultid` | the vault identity to use. | false | N/A | +| `options_vaultpasswordfile` | vault password file. | false | N/A | +| `options_version` | returns ansible-playbook version number, configuration file location, configured module search path, module location, executable location and exits program. | false | false | +| `options_check` | dry-run, does not make any changes; instead, tries to predict some of the changes that may occur. | false | false | +| `options_difference` | when changing (small) files and template, shows the difference in those files. | false | false | +| `options_modulepath` | prepend colon-separated path(s) to module library | false | ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules | +| `options_extravars` | set additional variables as key=value or YAML/JSON, if filename is prepend with @ | false | N/A | +| `options_forks` | specify number of parallel processes to use. | false | 5 | +| `options_inventory` | specify inventory host path or comma separated host list. | true | N/A | +| `options_limit` | further limit selected hosts to additional pattern. | false | false | +| `options_tags` | only run plays and task whose tags matches these values. | false | N/A | +| `options_verbose` | verbose mode. | false | false | +| `options_verbosemore` | verbose mode: more verbose. | false | false | +| `options_verbosedebug` | verbose mode: connection debugging | false | false | + +### ansible-playbook connection + +| Parameter | Description | Required | Default | +| -------------------------- | ------------------------------------------------- | -------- | ------- | +| `connection_privatekey` | use this file to authenticate the connection. | false | N/A | +| `connection_scpextraargs` | specify extra arguments to pass to scp only. | false | N/A | +| `connection_sftpextraargs` | specify extra arguments to pass to sftp only. | false | N/A | +| `connection_sshextraargs` | specify extra arguments to pass to ssh only. | false | N/A | +| `connection_sshcommonargs` | specify common arguments to pass to scp/sftp/ssh. | false | N/A | +| `connection_timeout` | override the connection timeout in seconds. | false | 10 | +| `connection_connection` | connection type to use. | false | smart | +| `connection_user` | connect as this user. | false | none | +| `connection_passwordfile` | connection password file | false | N/A | + +### ansible-playbook privilege escalation + +| Parameter | Description | Required | Default | +| -------------------------- | -------------------------------------------------------------- | -------- | ------- | +| `privilege_becomemethod` | privilege escalation method to use. | false | sudo | +| `privilege_becomeuser` | run operation as this user. | false | root | +| `privilege_askbecomepass` | ask for privilege escalation password. | false | false | +| `privilege_become` | run operations with become (does not imply password prompting) | false | false | +| `privilege_becomepassfile` | become password file | false | N/A | + +## Template + +COMING SOON! + +## Troubleshooting + +You can start troubleshooting this plugin by tuning the level of logs being displayed: + +```diff +steps: + - name: ansible-lint + image: target/vela-ansible:latest + parameters: ++ log_level: trace + action: lint + playbook: "abox/main.yml" + +``` + +Below are a list of common problems and how to solve them: \ No newline at end of file diff --git a/docs/usage/plugins/registry/vault.md b/docs/usage/plugins/registry/vault.md new file mode 100644 index 0000000..f39eb3b --- /dev/null +++ b/docs/usage/plugins/registry/vault.md @@ -0,0 +1,142 @@ +# Vault + +## Description + +This plugin enables the ability pull secrets from [Vault](https://www.vaultproject.io/) into the secret mount within a Vela pipeline. + +Source Code: https://github.com/go-vela/secret-vault + +Registry: https://hub.docker.com/r/target/secret-vault + +## Usage + +Sample of retrieving a secret using token authentication: + +```yaml +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + parameters: + addr: vault.company.com + token: superSecretVaultToken + auth_method: token + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +Sample of retrieving a secret using ldap authentication: + +```diff +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + parameters: + addr: vault.company.com ++ username: octocat ++ password: superSecretPassword +- token: superSecretVaultToken ++ auth_method: ldap + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +Sample of reading a secret using ldap authentication with verbose logging: + +```diff +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + parameters: + addr: vault.company.com + username: octocat + password: superSecretPassword + token: superSecretVaultToken + auth_method: ldap ++ log_level: trace + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +Sample of retrieving a secret and writing it to multiple paths with a new key: +```yaml +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + secrets: + - source: superSecretToken + target: vault_token + parameters: + addr: vault.company.com + auth_method: token + items: + # assume user_A has two keys: `id` and `token`, but we want it to be `username` and `password` + # + # this will write to `/vela/secrets/kaniko/username` and `/vela/secrets/kaniko/password` + # and also `/vela/secrets/artifactory/username` and `/vela/secrets/artifactory/password` + - source: secret/vela/user_A + path: [ kaniko, artifactory ] + keys: + id: username + token: password +``` + +## Secrets + +**NOTE: Users should refrain from configuring sensitive information in your pipeline in plain text.** + +**NOTE: Secrets used within the secret plugin must exist as Vela secrets.** + +You can use Vela secrets to substitute sensitive values at runtime: + +```diff +secrets: + # Repo secret created within Vela + - name: vault_token + + # Example using token authentication method + - origin: + name: vault + image: target/vela/secret-vault:latest + secret: [ vault_token ] + parameters: + addr: vault.company.com +- token: superSecretVaultToken + auth_method: token + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +## Parameters + +The following parameters are used to configure the image: + +| Name | Description | Required | Default | +| ------------- | -------------------------------------------------------- | --------- | ------- | +| `addr` | address to the instance | `true` | `N/A` | +| `auth_method` | authentication method for interfacing (i.e. token, ldap) | `true` | `N/A` | +| `log_level` | set the log level for the plugin | `true` | `info` | +| `password` | password for server authentication with ldap | `false` | `N/A` | +| `token` | token for server authentication | `false` | `N/A` | +| `username` | set the log level for the plugin | `false` | `N/A` | +| `items` | set of secrets to retrieve and write to workspace | `true` | `N/A` | + +### Items + +| Name | Description | Required | Default | +| ------------- | -------------------------------------------------------- | --------- | ------------ | +| `source` | path to secret | `true` | `N/A` | +| `path` | desired file path under `vela/secrets/` directory | `true` | `N/A` | +| `keys` | override Vault keys (map type) | `false` | `vault key` | + diff --git a/docs/usage/plugins/tutorials/_category_.json b/docs/usage/plugins/tutorials/_category_.json new file mode 100644 index 0000000..e832f79 --- /dev/null +++ b/docs/usage/plugins/tutorials/_category_.json @@ -0,0 +1,12 @@ +{ + "label": "Tutorials", + "position": 2, + "link": { + "type": "generated-index", + "description": "A Vela cluster is deployed as a self-hosted solution and consists of two core services, the server and the worker. The relationship between these services is considered many-to-many meaning many workers can connect to many servers. + +The server is considered the brains of the application while the worker is considered the brawn of the application. + +An optional third service, the UI, can also be deployed but is not required for the Vela platform to operate as intended. This service provides a means for utilizing and interacting with the Vela platform." + } +} diff --git a/docs/usage/plugins/tutorials/bash.md b/docs/usage/plugins/tutorials/bash.md new file mode 100644 index 0000000..940486c --- /dev/null +++ b/docs/usage/plugins/tutorials/bash.md @@ -0,0 +1,113 @@ +--- +title: "Bash" +linkTitle: "Bash" +description: > + Learn how to write a Vela plugin with Bash. +--- + +:::warning +We recommend reviewing [Docker's best practices](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/) before attempting to create a custom plugin. + +We recommend that all plugins be placed inside a [scratch image](https://hub.docker.com/_/scratch). +::: + +## Overview + +From [Bash documentation](https://www.gnu.org/software/bash/): + +> Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). +> +> It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification. + +## Code + +To create a plugin using Bash, we'll need to first decide what task we want this plugin to accomplish. + +For this example, we're going to create a script that runs a `curl` command from the provided input: + +```sh +#!/usr/bin/env bash + +# import method parameter from environment +method=${PARAMETER_METHOD} +# import body parameter from environment +body=${PARAMETER_BODY} +# import url parameter from environment +url=${PARAMETER_URL} + +# send curl request from provided input +curl \ + -X "${method}" \ + -d "${body}" \ + "${url}" +``` + +:::tip +An example of this code is provided in the [bash section](https://github.com/go-vela/vela-tutorials/tree/main/plugins/bash) of the [go-vela/vela-tutorials](https://github.com/go-vela/vela-tutorials/tree/main/plugins) repository. +::: + +## Image + +Once we have the executable needed to accomplish our plugin's task, we need to create a Dockerfile to produce an image. + +This image should contain the script and be setup to run that script when the plugin is executed: + +```docker +FROM alpine + +RUN apk add --update --no-cache bash ca-certificates curl + +COPY vela-sample.sh /bin/vela-sample.sh + +ENTRYPOINT ["bash", "/bin/vela-sample.sh"] +``` + +:::tip +An example of this image is provided in the [target/vela-sample](https://hub.docker.com/r/target/vela-sample) Docker repository. +::: + +## Publishing + +In order to run the plugin in a pipeline, we'll need to make sure we build and publish it to a Docker registry: + +```sh +# build the image +docker build -t target/vela-sample:bash . + +# publish the image +docker push target/vela-sample:bash +``` + +:::info +This has the added benefit of enabling others in the community to consume your plugin! +::: + +## Troubleshooting + +To verify that the plugin performs the desired task, it can be executed locally via the command line: + +```sh +docker run --rm \ + -e PARAMETER_BODY="This is a sample Vela plugin written with Bash" \ + -e PARAMETER_METHOD="POST" \ + -e PARAMETER_URL="http://vela.localhost.com" \ + target/vela-sample:bash +``` + +## Usage + +After publishing the image to a Docker registry, it can be referenced in a pipeline: + +```yaml +version: "1" + +steps: + - name: sample bash plugin + image: target/vela-sample:bash + pull: always + parameters: + url: http://vela.localhost.com + method: POST + body: | + This is a sample Vela plugin written with Bash +``` \ No newline at end of file diff --git a/docs/usage/quickstart.md b/docs/usage/quickstart.md new file mode 100644 index 0000000..017c187 --- /dev/null +++ b/docs/usage/quickstart.md @@ -0,0 +1,149 @@ +--- +sidebar_position: 1 +--- + +# Quickstart + +## Step 1 - Enable a Repo + +:::warning +You will need **Admin** access to the repo to be able to activate it in Vela. This is because you need **Admin** access to be able to add webhooks +to the repo. +::: + +For this example, we'll go over using the UI to add the repo. You can always head over to the [CLI docs](/docs/reference/cli/repo/add.md) for docs on how to add a repo via CLI. + +1. Log into your Vela instance. +1. Click "Add Repositories". +1. Select the Org from the available list. +1. Click "Add" next to the repo you would like to add. + 1. Alternatively you can "Add All" repos in an org. + 1. If your repo doesn't exist, try clicking "Refresh List" in the top right. + +Your repo now has the necessary web hook to Vela. + +:::info +If you're coming from another CI platform you can set a starting build number by updating the counter field on the repo via the UI, [CLI](/docs/reference/cli/repo/), or [API](/docs/reference/api/repo/). +::: + +## Step 2 - Build a Pipeline + +A steps pipeline is designed to run a sequential set of tasks.These pipelines do not have a minimum defined length and steps will always execute in the order defined. + +In this pipeline each step is shown with the minimum required YAML keys to execute a step. Both steps are pulling a [Alpine Linux](https://alpinelinux.org/) image from [Docker Hub](https://hub.docker.com/) and executing echo statements. + +```yaml +version: "1" + +# In this pipeline, commands are executed inside the container as the Entrypoint. +# If any command returns a non-zero exit code, the pipeline fails and exits. +steps: + + - name: Greeting + image: alpine + commands: + - echo "Hello, World" + + - name: Welcome + image: alpine + commands: + - echo "Welcome to the Vela docs" +``` +**See it in action with examples!** + +* [Go](/docs/usage/examples/go_modules/) +* [Rust](/docs/usage/examples/rust_cargo/) +* [Gradle](/docs/usage/examples/java_gradle/) +* [Maven](/docs/usage/examples/java_maven/) +* [Node](/docs/usage/examples/node/) + +## Step 3 - Customize the Pipeline with Rulesets + +The ruleset allows you to provide conditions to limit the execution of the container. + +When you push your code to a source control management system a payload is sent to Vela. + +Within that payload contains characteristics about what just happened. Maybe it was a push to the main branch, feature branch or tag on any specific commit. + +The ruleset key gives you the ability to add conditions on the step to tell Vela when this step should be executed. + +```yaml +- name: Welcome + # This ruleset would scope the step to only executing + # under the conditions a push to the main branch occurred + ruleset: + event: push + branch: main + image: alpine + commands: + - echo "Welcome to the Vela docs" +``` + +```yaml +- name: Welcome + # This ruleset would scope the step to never executing + # under the conditions a push to the main branch occurred + ruleset: + unless: + event: push + branch: main + image: alpine + commands: + - echo "Welcome to the Vela docs" +``` +## Step 4 - Select Your Plugins + +A plugin is a Docker container that is designed to perform a set of pre-defined actions. + +These actions can be for any number of general tasks, deploying code, publishing artifacts and more. + +Anyone can create a plugin and use it in their pipeline. + +The registry of existing plugins can be found on this site in the [plugins](/docs/plugins/registry/) tab. + +Within the parameters block, keys are injected as upper case environment variables with the pattern of `PARAMETER_`. + +**Expand your knowledge with an example!** + +* [Working with Plugins](/docs/usage/plugin/) + + + +```yaml +steps: + + - name: publish hello world + image: target/vela-kaniko + # Environment variables injected: + # PARAMETER_REGISTRY=index.docker.io + # PARAMETER_REPO=index.docker.io/go-vela/hello-world + # PARAMETER_USERNAME=moby + # PARAMETER_PASSWORD=mypassword + # PARAMETER_TAGS=latest,v1.0.0 + parameters: + registry: index.docker.io + repo: index.docker.io/go-vela/hello-world + username: moby + password: mypassword + tags: + - latest + - v1.0.0 +``` +## Step 5 - Trigger the Pipeline + +If you've followed the documentation for [enabling a repo](/docs/usage/enable_repo/) and wrote a pipeline ([here are some example pipelines](/docs/usage/examples/)), all that should be left is to push your pipeline to your repo. + +If a build does not trigger when your push a change to your repo, check the webhook response to see if there is an error. + +:::tip +Want to run it locally? Install the CLI and "exec" the pipline from your terminal +::: + +```sh +$ vela exec pipeline +... +[stage: ][step: Greeting] $ echo "Hello, World" +[stage: ][step: Greeting] Hello, World +[stage: ][step: Welcome] $ echo "Welcome to the Vela docs" +[stage: ][step: Welcome] Welcome to the Vela docs +``` diff --git a/docusaurus.config.js b/docusaurus.config.js new file mode 100644 index 0000000..6bd3efa --- /dev/null +++ b/docusaurus.config.js @@ -0,0 +1,121 @@ +import {themes as prismThemes} from 'prism-react-renderer'; + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** @type {import('@docusaurus/types').Config} */ +const config = { + title: 'Vela External Prototype', + tagline: 'Wouldst thou like to Vela deliciously?', + favicon: 'img/favicon.ico', + + // Set the production url of your site here + url: 'https://go-vela.github.io/docs-v2/', + // Set the // pathname under which your site is served + // For GitHub pages deployment, it is often '//' + baseUrl: '/actions-playground/vela-prototype', + plugins: [require.resolve('docusaurus-lunr-search')], + + // GitHub pages deployment config. + // If you aren't using GitHub pages, you don't need these. + organizationName: 'actions-playground', + projectName: 'vela-prototype', + deploymentBranch: 'gh-pages', + onBrokenLinks: 'warn', + onBrokenMarkdownLinks: 'warn', + + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + presets: [ + [ + 'classic', + /** @type {import('@docusaurus/preset-classic').Options} */ + ({ + docs: { + sidebarPath: require.resolve('./sidebars.js'), + routeBasePath: "/", + editUrl: + 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', + }, + blog: { + showReadingTime: true, + feedOptions: { + type: ['rss', 'atom'], + xslt: true, + }, + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: + 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', + // Useful options to enforce blogging best practices + onInlineTags: 'warn', + onInlineAuthors: 'warn', + onUntruncatedBlogPosts: 'warn', + }, + theme: { + customCss: './src/css/custom.css', + }, + }), + ], + + ], + + themeConfig: + /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ + ({ + image: 'img/vela.png', + navbar: { + title: 'Vela External Protoype', + logo: { + alt: 'My Site Logo', + src: 'img/vela.png', + }, + items: + [ + { + type: 'docSidebar', + position: 'left', + sidebarId: 'installation', + label: 'Installation', + }, + { + type: 'docSidebar', + position: 'left', + sidebarId: 'usage', + label: 'Usage', + }, + { + type: 'docSidebar', + position: 'left', + sidebarId: 'reference', + label: 'Reference', + }, + {to: '/blog', label: 'Blog', position: 'left'}, + { + type: 'docsVersionDropdown', + label: 'version', + position: 'right', + dropdownItemsAfter: [{to: '/versions', label: 'All versions'}], + dropdownActiveClassDisabled: true, + }, + { + href: 'https://github.com/go-vela', + label: 'Vela on GitHub', + position: 'right', + }, + ], + }, + footer: { + style: 'dark', + copyright: `Copyright © ${new Date().getFullYear()} Target Brands All Rights Reserved.`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + }), +}; + // hihello +export default config; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..f54c262 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,18049 @@ +{ + "name": "my-website", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "my-website", + "version": "0.0.0", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/preset-classic": "3.6.3", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "docusaurus-lunr-search": "^3.5.0", + "docusaurus-plugin-remote-content": "^4.0.0", + "lunr": "^2.3.9", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react-player": "^2.16.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/types": "3.6.3" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz", + "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", + "@algolia/autocomplete-shared": "1.17.7" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz", + "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz", + "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz", + "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", + "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", + "dependencies": { + "@algolia/cache-common": "4.24.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", + "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", + "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", + "dependencies": { + "@algolia/cache-common": "4.24.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.17.1.tgz", + "integrity": "sha512-Os/xkQbDp5A5RdGYq1yS3fF69GoBJH5FIfrkVh+fXxCSe714i1Xdl9XoXhS4xG76DGKm6EFMlUqP024qjps8cg==", + "dependencies": { + "@algolia/client-common": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", + "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", + "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.17.1.tgz", + "integrity": "sha512-5rb5+yPIie6912riAypTSyzbE23a7UM1UpESvD8GEPI4CcWQvA9DBlkRNx9qbq/nJ5pvv8VjZjUxJj7rFkzEAA==", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.17.1.tgz", + "integrity": "sha512-nb/tfwBMn209TzFv1DDTprBKt/wl5btHVKoAww9fdEVdoKK02R2KAqxe5tuXLdEzAsS+LevRyOM/YjXuLmPtjQ==", + "dependencies": { + "@algolia/client-common": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", + "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.17.1.tgz", + "integrity": "sha512-RBIFIv1QE3IlAikJKWTOpd6pwE4d2dY6t02iXH7r/SLXWn0HzJtsAPPeFg/OKkFvWAXt0H7In2/Mp7a1/Dy2pw==", + "dependencies": { + "@algolia/client-common": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.17.1.tgz", + "integrity": "sha512-bd5JBUOP71kPsxwDcvOxqtqXXVo/706NFifZ/O5Rx5GB8ZNVAhg4l7aGoT6jBvEfgmrp2fqPbkdIZ6JnuOpGcw==", + "dependencies": { + "@algolia/client-common": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + }, + "node_modules/@algolia/ingestion": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.17.1.tgz", + "integrity": "sha512-T18tvePi1rjRYcIKhd82oRukrPWHxG/Iy1qFGaxCplgRm9Im5z96qnYOq75MSKGOUHkFxaBKJOLmtn8xDR+Mcw==", + "dependencies": { + "@algolia/client-common": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", + "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==" + }, + "node_modules/@algolia/logger-console": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", + "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", + "dependencies": { + "@algolia/logger-common": "4.24.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.17.1.tgz", + "integrity": "sha512-gDtow+AUywTehRP8S1tWKx2IvhcJOxldAoqBxzN3asuQobF7er5n72auBeL++HY4ImEuzMi7PDOA/Iuwxs2IcA==", + "dependencies": { + "@algolia/client-common": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", + "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.17.1.tgz", + "integrity": "sha512-XpKgBfyczVesKgr7DOShNyPPu5kqlboimRRPjdqAw5grSyHhCmb8yoTIKy0TCqBABZeXRPMYT13SMruUVRXvHA==", + "dependencies": { + "@algolia/client-common": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", + "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==" + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.17.1.tgz", + "integrity": "sha512-EhUomH+DZP5vb6DnEjT0GvXaXBSwzZnuU6hPGNU1EYKRXDouRjII/bIWpVjt7ycMgL2D2oQruqDh6rAWUhQwRw==", + "dependencies": { + "@algolia/client-common": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.17.1.tgz", + "integrity": "sha512-PSnENJtl4/wBWXlGyOODbLYm6lSiFqrtww7UpQRCJdsHXlJKF8XAP6AME8NxvbE0Qo/RJUxK0mvyEh9sQcx6bg==", + "dependencies": { + "@algolia/client-common": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", + "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", + "dependencies": { + "@algolia/cache-common": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", + "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", + "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", + "dependencies": { + "@babel/parser": "^7.26.3", + "@babel/types": "^7.26.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", + "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "dependencies": { + "@babel/types": "^7.26.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.3.tgz", + "integrity": "sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "dependencies": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.38.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.26.3.tgz", + "integrity": "sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz", + "integrity": "sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", + "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.3", + "@babel/parser": "^7.26.3", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.3", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", + "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@csstools/cascade-layer-name-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz", + "integrity": "sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.1.tgz", + "integrity": "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.0.tgz", + "integrity": "sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.6.tgz", + "integrity": "sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/color-helpers": "^5.0.1", + "@csstools/css-calc": "^2.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", + "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", + "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz", + "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.1.tgz", + "integrity": "sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.6.tgz", + "integrity": "sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-color-mix-function": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.6.tgz", + "integrity": "sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-content-alt-text": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.4.tgz", + "integrity": "sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-exponential-functions": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.5.tgz", + "integrity": "sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz", + "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gamut-mapping": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.6.tgz", + "integrity": "sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gradients-interpolation-method": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.6.tgz", + "integrity": "sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.6.tgz", + "integrity": "sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.0.tgz", + "integrity": "sha512-9QT5TDGgx7wD3EEMN3BSUG6ckb6Eh5gSPT5kZoVtUuAonfPmLDJyPhqR4ntPpMYhUKAMVKAg3I/AgzqHMSeLhA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-initial": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.0.tgz", + "integrity": "sha512-dv2lNUKR+JV+OOhZm9paWzYBXOCi+rJPqJ2cJuhh9xd8USVrd0cBEPczla81HNOyThMQWeCcdln3gZkQV2kYxA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.1.tgz", + "integrity": "sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-light-dark-function": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.7.tgz", + "integrity": "sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-float-and-clear": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz", + "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overflow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz", + "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overscroll-behavior": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz", + "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-resize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz", + "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-viewport-units": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.3.tgz", + "integrity": "sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-minmax": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.5.tgz", + "integrity": "sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.4.tgz", + "integrity": "sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz", + "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz", + "integrity": "sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.6.tgz", + "integrity": "sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.0.0.tgz", + "integrity": "sha512-XQPtROaQjomnvLUSy/bALTR5VCtTVUFwYs1SblvYgLSeTo2a/bMNwUwo2piXw5rTv/FEYiy5yPSXBqg9OKUx7Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-random-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.1.tgz", + "integrity": "sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-relative-color-syntax": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.6.tgz", + "integrity": "sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz", + "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-sign-functions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.0.tgz", + "integrity": "sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.5.tgz", + "integrity": "sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.1.tgz", + "integrity": "sha512-xPZIikbx6jyzWvhms27uugIc0I4ykH4keRvoa3rxX5K7lEhkbd54rjj/dv60qOCTisoS+3bmwJTeyV1VNBrXaw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/color-helpers": "^5.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.5.tgz", + "integrity": "sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz", + "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/utilities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-2.0.0.tgz", + "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.0.tgz", + "integrity": "sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==" + }, + "node_modules/@docsearch/react": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.0.tgz", + "integrity": "sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==", + "dependencies": { + "@algolia/autocomplete-core": "1.17.7", + "@algolia/autocomplete-preset-algolia": "1.17.7", + "@docsearch/css": "3.8.0", + "algoliasearch": "^5.12.0" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.17.1.tgz", + "integrity": "sha512-WKpGC+cUhmdm3wndIlTh8RJXoVabUH+4HrvZHC4hXtvCYojEXYeep8RZstatwSZ7Ocg6Y2u67bLw90NEINuYEw==", + "dependencies": { + "@algolia/client-common": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.17.1.tgz", + "integrity": "sha512-JuNlZe1SdW9KbV0gcgdsiVkFfXt0mmPassdS3cBSGvZGbPB9JsHthD719k5Y6YOY4dGvw1JmC1i9CwCQHAS8hg==", + "dependencies": { + "@algolia/client-common": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/recommend": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.17.1.tgz", + "integrity": "sha512-2992tTHkRe18qmf5SP57N78kN1D3e5t4PO1rt10sJncWtXBZWiNOK6K/UcvWsFbNSGAogFcIcvIMAl5mNp6RWA==", + "dependencies": { + "@algolia/client-common": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/algoliasearch": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.17.1.tgz", + "integrity": "sha512-3CcbT5yTWJDIcBe9ZHgsPi184SkT1kyZi3GWlQU5EFgvq1V73X2sqHRkPCQMe0RA/uvZbB+1sFeAk73eWygeLg==", + "dependencies": { + "@algolia/client-abtesting": "5.17.1", + "@algolia/client-analytics": "5.17.1", + "@algolia/client-common": "5.17.1", + "@algolia/client-insights": "5.17.1", + "@algolia/client-personalization": "5.17.1", + "@algolia/client-query-suggestions": "5.17.1", + "@algolia/client-search": "5.17.1", + "@algolia/ingestion": "1.17.1", + "@algolia/monitoring": "1.17.1", + "@algolia/recommend": "5.17.1", + "@algolia/requester-browser-xhr": "5.17.1", + "@algolia/requester-fetch": "5.17.1", + "@algolia/requester-node-http": "5.17.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docusaurus/babel": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.3.tgz", + "integrity": "sha512-7dW9Hat9EHYCVicFXYA4hjxBY38+hPuCURL8oRF9fySRm7vzNWuEOghA1TXcykuXZp0HLG2td4RhDxCvGG7tNw==", + "dependencies": { + "@babel/core": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@babel/preset-react": "^7.25.9", + "@babel/preset-typescript": "^7.25.9", + "@babel/runtime": "^7.25.9", + "@babel/runtime-corejs3": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "babel-plugin-dynamic-import-node": "^2.3.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/bundler": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.3.tgz", + "integrity": "sha512-47JLuc8D4wA+6VOvmMd5fUC9rFppBQpQOnxDYiVXffm/DeV/wmm3sbpNd5Y+O+G2+nevLTRnvCm/qyancv0Y3A==", + "dependencies": { + "@babel/core": "^7.25.9", + "@docusaurus/babel": "3.6.3", + "@docusaurus/cssnano-preset": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "babel-loader": "^9.2.1", + "clean-css": "^5.3.2", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.8.1", + "css-minimizer-webpack-plugin": "^5.0.1", + "cssnano": "^6.1.2", + "file-loader": "^6.2.0", + "html-minifier-terser": "^7.2.0", + "mini-css-extract-plugin": "^2.9.1", + "null-loader": "^4.0.1", + "postcss": "^8.4.26", + "postcss-loader": "^7.3.3", + "postcss-preset-env": "^10.1.0", + "react-dev-utils": "^12.0.1", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.95.0", + "webpackbar": "^6.0.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/faster": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/faster": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.3.tgz", + "integrity": "sha512-xL7FRY9Jr5DWqB6pEnqgKqcMPJOX5V0pgWXi5lCiih11sUBmcFKM7c3+GyxcVeeWFxyYSDP3grLTWqJoP4P9Vw==", + "dependencies": { + "@docusaurus/babel": "3.6.3", + "@docusaurus/bundler": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "core-js": "^3.31.1", + "del": "^6.1.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "eval": "^0.1.8", + "fs-extra": "^11.1.1", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.6.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "p-map": "^4.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "rtl-detect": "^1.0.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.6", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "update-notifier": "^6.0.2", + "webpack": "^5.95.0", + "webpack-bundle-analyzer": "^4.10.2", + "webpack-dev-server": "^4.15.2", + "webpack-merge": "^6.0.1" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@mdx-js/react": "^3.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.3.tgz", + "integrity": "sha512-qP7SXrwZ+23GFJdPN4aIHQrZW+oH/7tzwEuc/RNL0+BdZdmIjYQqUxdXsjE4lFxLNZjj0eUrSNYIS6xwfij+5Q==", + "dependencies": { + "cssnano-preset-advanced": "^6.1.2", + "postcss": "^8.4.38", + "postcss-sort-media-queries": "^5.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/logger": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.3.tgz", + "integrity": "sha512-xSubJixcNyMV9wMV4q0s47CBz3Rlc5jbcCCuij8pfQP8qn/DIpt0ks8W6hQWzHAedg/J/EwxxUOUrnEoKzJo8g==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.3.tgz", + "integrity": "sha512-3iJdiDz9540ppBseeI93tWTDtUGVkxzh59nMq4ignylxMuXBLK8dFqVeaEor23v1vx6TrGKZ2FuLaTB+U7C0QQ==", + "dependencies": { + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^1.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.3.tgz", + "integrity": "sha512-MjaXX9PN/k5ugNvfRZdWyKWq4FsrhN4LEXaj0pEmMebJuBNlFeGyKQUa9DRhJHpadNaiMLrbo9m3U7Ig5YlsZg==", + "dependencies": { + "@docusaurus/types": "3.6.3", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.3.tgz", + "integrity": "sha512-k0ogWwwJU3pFRFfvW1kRVHxzf2DutLGaaLjAnHVEU6ju+aRP0Z5ap/13DHyPOfHeE4WKpn/M0TqjdwZAcY3kAw==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "cheerio": "1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "srcset": "^4.0.0", + "tslib": "^2.6.0", + "unist-util-visit": "^5.0.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.3.tgz", + "integrity": "sha512-r2wS8y/fsaDcxkm20W5bbYJFPzdWdEaTWVYjNxlHlcmX086eqQR1Fomlg9BHTJ0dLXPzAlbC8EN4XqMr3QzNCQ==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "@types/react-router-config": "^5.0.7", + "combine-promises": "^1.1.0", + "fs-extra": "^11.1.1", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.3.tgz", + "integrity": "sha512-eHrmTgjgLZsuqfsYr5X2xEwyIcck0wseSofWrjTwT9FLOWp+KDmMAuVK+wRo7sFImWXZk3oV/xX/g9aZrhD7OA==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.3.tgz", + "integrity": "sha512-zB9GXfIZNPRfzKnNjU6xGVrqn9bPXuGhpjgsuc/YtcTDjnjhasg38NdYd5LEqXex5G/zIorQgWB3n6x/Ut62vQ==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "fs-extra": "^11.1.1", + "react-json-view-lite": "^1.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.3.tgz", + "integrity": "sha512-rCDNy1QW8Dag7nZq67pcum0bpFLrwvxJhYuVprhFh8BMBDxV0bY+bAkGHbSf68P3Bk9C3hNOAXX1srGLIDvcTA==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.3.tgz", + "integrity": "sha512-+OyDvhM6rqVkQOmLVkQWVJAizEEfkPzVWtIHXlWPOCFGK9X4/AWeBSrU0WG4iMg9Z4zD4YDRrU+lvI4s6DSC+w==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "@types/gtag.js": "^0.0.12", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.3.tgz", + "integrity": "sha512-1M6UPB13gWUtN2UHX083/beTn85PlRI9ABItTl/JL1FJ5dJTWWFXXsHf9WW/6hrVwthwTeV/AGbGKvLKV+IlCA==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.3.tgz", + "integrity": "sha512-94qOO4M9Fwv9KfVQJsgbe91k+fPJ4byf1L3Ez8TUa6TAFPo/BrLwQ80zclHkENlL1824TuxkcMKv33u6eydQCg==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "fs-extra": "^11.1.1", + "sitemap": "^7.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.3.tgz", + "integrity": "sha512-VHSYWROT3flvNNI1SrnMOtW1EsjeHNK9dhU6s9eY5hryZe79lUqnZJyze/ymDe2LXAqzyj6y5oYvyBoZZk6ErA==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/plugin-content-blog": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/plugin-content-pages": "3.6.3", + "@docusaurus/plugin-debug": "3.6.3", + "@docusaurus/plugin-google-analytics": "3.6.3", + "@docusaurus/plugin-google-gtag": "3.6.3", + "@docusaurus/plugin-google-tag-manager": "3.6.3", + "@docusaurus/plugin-sitemap": "3.6.3", + "@docusaurus/theme-classic": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-search-algolia": "3.6.3", + "@docusaurus/types": "3.6.3" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.3.tgz", + "integrity": "sha512-1RRLK1tSArI2c00qugWYO3jRocjOZwGF1mBzPPylDVRwWCS/rnWWR91ChdbbaxIupRJ+hX8ZBYrwr5bbU0oztQ==", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/plugin-content-blog": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/plugin-content-pages": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-translations": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "copy-text-to-clipboard": "^3.2.0", + "infima": "0.2.0-alpha.45", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.26", + "prism-react-renderer": "^2.3.0", + "prismjs": "^1.29.0", + "react-router-dom": "^5.3.4", + "rtlcss": "^4.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.3.tgz", + "integrity": "sha512-b8ZkhczXHDxWWyvz+YJy4t/PlPbEogTTbgnHoflYnH7rmRtyoodTsu8WVM12la5LmlMJBclBXFl29OH8kPE7gg==", + "dependencies": { + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^2.3.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.3.tgz", + "integrity": "sha512-rt+MGCCpYgPyWCGXtbxlwFbTSobu15jWBTPI2LHsHNa5B0zSmOISX6FWYAPt5X1rNDOqMGM0FATnh7TBHRohVA==", + "dependencies": { + "@docsearch/react": "^3.5.2", + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-translations": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "algoliasearch": "^4.18.0", + "algoliasearch-helper": "^3.13.3", + "clsx": "^2.0.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.3.tgz", + "integrity": "sha512-Gb0regclToVlngSIIwUCtBMQBq48qVUaN1XQNKW4XwlsgUyk0vP01LULdqbem7czSwIeBAFXFoORJ0RPX7ht/w==", + "dependencies": { + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/types": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", + "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.95.0", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/types/node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docusaurus/utils": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.3.tgz", + "integrity": "sha512-0R/FR3bKVl4yl8QwbL4TYFfR+OXBRpVUaTJdENapBGR3YMwfM6/JnhGilWQO8AOwPJGtGoDK7ib8+8UF9f3OZQ==", + "dependencies": { + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@svgr/webpack": "^8.1.0", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "prompts": "^2.4.2", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.3.tgz", + "integrity": "sha512-v4nKDaANLgT3pMBewHYEMAl/ufY0LkXao1QkFWzI5huWFOmNQ2UFzv2BiKeHX5Ownis0/w6cAyoxPhVdDonlSQ==", + "dependencies": { + "@docusaurus/types": "3.6.3", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.3.tgz", + "integrity": "sha512-bhEGGiN5BE38h21vjqD70Gxg++j+PfYVddDUE5UFvLDup68QOcpD33CLr+2knPorlxRbEaNfz6HQDUMQ3HuqKw==", + "dependencies": { + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "fs-extra": "^11.2.0", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", + "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", + "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", + "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==" + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@slorber/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "micromark-util-symbol": "^1.0.1" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz", + "integrity": "sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/gtag.js": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/node": { + "version": "22.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", + "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "node_modules/@types/prismjs": { + "version": "1.26.5", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", + "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "node_modules/@types/react": { + "version": "18.3.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.17.tgz", + "integrity": "sha512-opAQ5no6LqJNo9TqnxBKsgnkIYHozW9KSTlFVoSUJYh1Fl/sswkEoqIugRSm7tbh6pABtYjGAjW+GOS23j8qbw==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" + }, + "node_modules/@types/ws": { + "version": "8.5.13", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz", + "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/algoliasearch": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", + "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-account": "4.24.0", + "@algolia/client-analytics": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-personalization": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/recommend": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.22.6", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.6.tgz", + "integrity": "sha512-F2gSb43QHyvZmvH/2hxIjbk/uFdO2MguQYTFP7J+RowMW1csjIODMobEnpLI8nbLQuzZnGZdIxl5Bpy1k9+CFQ==", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autocomplete.js": { + "version": "0.37.1", + "resolved": "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.37.1.tgz", + "integrity": "sha512-PgSe9fHYhZEsm/9jggbjtVsGXJkPLvd+9mC7gZJ662vVL5CRWEtm/mIrrzCx0MrNxHVwxD5d00UOn6NsmL2LUQ==", + "dependencies": { + "immediate": "^3.2.3" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.7.9", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-loader": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bcp-47-match": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-1.0.3.tgz", + "integrity": "sha512-LggQ4YTdjWQSKELZF5JwchnBa1u0pIQSZf5lSdOHEdbVP55h0qICA/FUp3+W99q0xqxYa1ZQizTUH87gecII5w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz", + "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001689", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001689.tgz", + "integrity": "sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz", + "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", + "dependencies": { + "browserslist": "^4.24.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.39.0.tgz", + "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/css-blank-pseudo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", + "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.2.tgz", + "integrity": "sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz", + "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-selector-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz", + "integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==" + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssdb": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.2.3.tgz", + "integrity": "sha512-9BDG5XmJrJQQnJ51VFxXCAtpZ5ebDlAREmO8sxMOVU0aSxN/gocbctjIG5LMh3WBUq+xTlb/jw2LoljBEqraTA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", + "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "dependencies": { + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.0", + "cssnano-preset-default": "^6.1.2", + "postcss-discard-unused": "^6.0.5", + "postcss-merge-idents": "^6.0.3", + "postcss-reduce-idents": "^6.0.3", + "postcss-zindex": "^6.0.2" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/direction": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz", + "integrity": "sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/docusaurus-lunr-search": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/docusaurus-lunr-search/-/docusaurus-lunr-search-3.5.0.tgz", + "integrity": "sha512-k3zN4jYMi/prWInJILGKOxE+BVcgYinwj9+gcECsYm52tS+4ZKzXQzbPnVJAEXmvKOfFMcDFvS3MSmm6cEaxIQ==", + "dependencies": { + "autocomplete.js": "^0.37.0", + "clsx": "^1.2.1", + "gauge": "^3.0.0", + "hast-util-select": "^4.0.0", + "hast-util-to-text": "^2.0.0", + "hogan.js": "^3.0.2", + "lunr": "^2.3.8", + "lunr-languages": "^1.4.0", + "mark.js": "^8.11.1", + "minimatch": "^3.0.4", + "rehype-parse": "^7.0.1", + "to-vfile": "^6.1.0", + "unified": "^9.0.0", + "unist-util-is": "^4.0.2" + }, + "engines": { + "node": ">= 8.10.0" + }, + "peerDependencies": { + "@docusaurus/core": "^2.0.0-alpha.60 || ^2.0.0 || ^3.0.0", + "react": "^16.8.4 || ^17 || ^18", + "react-dom": "^16.8.4 || ^17 || ^18" + } + }, + "node_modules/docusaurus-lunr-search/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + }, + "node_modules/docusaurus-lunr-search/node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/docusaurus-lunr-search/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/docusaurus-lunr-search/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/docusaurus-lunr-search/node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/docusaurus-lunr-search/node_modules/unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-lunr-search/node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-lunr-search/node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-lunr-search/node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-plugin-remote-content": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-remote-content/-/docusaurus-plugin-remote-content-4.0.0.tgz", + "integrity": "sha512-e+gBmNdgOwA+7u6O2kk/u1w4ET23j8OIF6OiOWV6EoKHJJ/w/8U5smkHNlrQC3hQOltxE2NRC1jbsG7wfS+d3w==", + "dependencies": { + "axios": "^1.6.0", + "picocolors": "^1.0.0", + "pretty-ms": "^7.0.1", + "rimraf": "^5.0.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@docusaurus/core": "2.x || 3.x" + } + }, + "node_modules/docusaurus-plugin-remote-content/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/docusaurus-plugin-remote-content/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/docusaurus-plugin-remote-content/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/docusaurus-plugin-remote-content/node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.0.tgz", + "integrity": "sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.73", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.73.tgz", + "integrity": "sha512-8wGNxG9tAG5KhGd3eeA0o6ixhiNdgr0DcHWm85XPCphwZgD1lIEoi6t3VERayWao7SF7AAZTw6oARGJeVjH8Kg==" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", + "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.2.1.tgz", + "integrity": "sha512-Vt2UOjyPbNQQgT5eJh+K5aATti0OjCIAGc9SgMdOFYbohuifsWclR74l0iZTJwePMgWYdX1hlVS+dedH9XV8kw==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gauge/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/gauge/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz", + "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "dunder-proto": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "dependencies": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + }, + "node_modules/hast-util-from-parse5/node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5/node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5/node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-1.0.4.tgz", + "integrity": "sha512-ghHup2voGfgFoHMGnaLHOjbYFACKrRh9KFttdCzMCbFoBMJXiNi2+XTrPP8+q6cDJM/RSqlCfVWrjp1H201rZg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz", + "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-raw/node_modules/hast-util-from-parse5": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.2.tgz", + "integrity": "sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/hastscript": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.0.tgz", + "integrity": "sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-raw/node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-raw/node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-raw/node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-select": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-4.0.2.tgz", + "integrity": "sha512-8EEG2//bN5rrzboPWD2HdS3ugLijNioS1pqOTIolXNf67xxShYw4SQEmVXd3imiBG+U2bC2nVTySr/iRAA7Cjg==", + "dependencies": { + "bcp-47-match": "^1.0.0", + "comma-separated-tokens": "^1.0.0", + "css-selector-parser": "^1.0.0", + "direction": "^1.0.0", + "hast-util-has-property": "^1.0.0", + "hast-util-is-element": "^1.0.0", + "hast-util-to-string": "^1.0.0", + "hast-util-whitespace": "^1.0.0", + "not": "^0.1.0", + "nth-check": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0", + "unist-util-visit": "^2.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + }, + "node_modules/hast-util-select/node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select/node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-estree/node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/hast-util-to-estree/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-estree/node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-estree/node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/hast-util-to-estree/node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.2.tgz", + "integrity": "sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5/node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-parse5/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-parse5/node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-parse5/node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-parse5/node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-string": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-1.0.4.tgz", + "integrity": "sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-2.0.1.tgz", + "integrity": "sha512-8nsgCARfs6VkwH2jJU9b8LNTuR4700na+0h3PqCaEk4MAnMDeu5P0tP8mjk9LLNGxIeQRLbiDbZVw6rku+pYsQ==", + "dependencies": { + "hast-util-is-element": "^1.0.0", + "repeat-string": "^1.0.0", + "unist-util-find-after": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz", + "integrity": "sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/hastscript/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==", + "dependencies": { + "mkdirp": "0.3.0", + "nopt": "1.0.10" + }, + "bin": { + "hulk": "bin/hulk" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.45", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.45.tgz", + "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz", + "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "dependencies": { + "package-json": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/launch-editor": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" + }, + "node_modules/lunr-languages": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.14.0.tgz", + "integrity": "sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==" + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/math-intrinsics": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.0.0.tgz", + "integrity": "sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz", + "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", + "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", + "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz", + "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-space/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.3.tgz", + "integrity": "sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "engines": { + "node": "*" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", + "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==" + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/not": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/not/-/not-0.1.0.tgz", + "integrity": "sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==" + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/null-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/null-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "node_modules/path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", + "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.6.tgz", + "integrity": "sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", + "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", + "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-custom-media": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.5.tgz", + "integrity": "sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-properties": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.4.tgz", + "integrity": "sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.4.tgz", + "integrity": "sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", + "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-unused": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.0.tgz", + "integrity": "sha512-JkIGah3RVbdSEIrcobqj4Gzq0h53GG4uqDPsho88SgY84WnpkTpI0k50MFK/sX7XqVisZ6OqUfFnoUO6m1WWdg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", + "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-focus-within": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", + "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", + "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-image-set-function": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", + "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-lab-function": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.6.tgz", + "integrity": "sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "dependencies": { + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.0.0.tgz", + "integrity": "sha512-HpIdsdieClTjXLOyYdUPAX/XQASNIwdKt5hoZW08ZOAiI+tbV0ta1oclkpVkW5ANU+xJvk3KkA0FejkjGLXUkg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-merge-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", + "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "dependencies": { + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nesting": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.1.tgz", + "integrity": "sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/selector-resolve-nested": "^3.0.0", + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.0.0.tgz", + "integrity": "sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", + "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", + "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz", + "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-preset-env": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.2.tgz", + "integrity": "sha512-OqUBZ9ByVfngWhMNuBEMy52Izj07oIFA6K/EOGBlaSv+P12MiE1+S2cqXtS1VuW82demQ/Tzc7typYk3uHunkA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/postcss-cascade-layers": "^5.0.1", + "@csstools/postcss-color-function": "^4.0.6", + "@csstools/postcss-color-mix-function": "^3.0.6", + "@csstools/postcss-content-alt-text": "^2.0.4", + "@csstools/postcss-exponential-functions": "^2.0.5", + "@csstools/postcss-font-format-keywords": "^4.0.0", + "@csstools/postcss-gamut-mapping": "^2.0.6", + "@csstools/postcss-gradients-interpolation-method": "^5.0.6", + "@csstools/postcss-hwb-function": "^4.0.6", + "@csstools/postcss-ic-unit": "^4.0.0", + "@csstools/postcss-initial": "^2.0.0", + "@csstools/postcss-is-pseudo-class": "^5.0.1", + "@csstools/postcss-light-dark-function": "^2.0.7", + "@csstools/postcss-logical-float-and-clear": "^3.0.0", + "@csstools/postcss-logical-overflow": "^2.0.0", + "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", + "@csstools/postcss-logical-resize": "^3.0.0", + "@csstools/postcss-logical-viewport-units": "^3.0.3", + "@csstools/postcss-media-minmax": "^2.0.5", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.4", + "@csstools/postcss-nested-calc": "^4.0.0", + "@csstools/postcss-normalize-display-values": "^4.0.0", + "@csstools/postcss-oklab-function": "^4.0.6", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/postcss-random-function": "^1.0.1", + "@csstools/postcss-relative-color-syntax": "^3.0.6", + "@csstools/postcss-scope-pseudo-class": "^4.0.1", + "@csstools/postcss-sign-functions": "^1.1.0", + "@csstools/postcss-stepped-value-functions": "^4.0.5", + "@csstools/postcss-text-decoration-shorthand": "^4.0.1", + "@csstools/postcss-trigonometric-functions": "^4.0.5", + "@csstools/postcss-unset-value": "^4.0.0", + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.1", + "css-blank-pseudo": "^7.0.1", + "css-has-pseudo": "^7.0.2", + "css-prefers-color-scheme": "^10.0.0", + "cssdb": "^8.2.3", + "postcss-attribute-case-insensitive": "^7.0.1", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^7.0.6", + "postcss-color-hex-alpha": "^10.0.0", + "postcss-color-rebeccapurple": "^10.0.0", + "postcss-custom-media": "^11.0.5", + "postcss-custom-properties": "^14.0.4", + "postcss-custom-selectors": "^8.0.4", + "postcss-dir-pseudo-class": "^9.0.1", + "postcss-double-position-gradients": "^6.0.0", + "postcss-focus-visible": "^10.0.1", + "postcss-focus-within": "^9.0.1", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^6.0.0", + "postcss-image-set-function": "^7.0.0", + "postcss-lab-function": "^7.0.6", + "postcss-logical": "^8.0.0", + "postcss-nesting": "^13.0.1", + "postcss-opacity-percentage": "^3.0.0", + "postcss-overflow-shorthand": "^6.0.0", + "postcss-page-break": "^3.0.4", + "postcss-place": "^10.0.0", + "postcss-pseudo-class-any-link": "^10.0.1", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^8.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", + "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", + "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", + "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", + "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "dependencies": { + "sort-css-media-queries": "2.2.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.23" + } + }, + "node_modules/postcss-svgo": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" + }, + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss-zindex": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", + "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-ms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", + "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "dependencies": { + "parse-ms": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", + "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", + "dependencies": { + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "dependencies": { + "escape-goat": "^4.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-json-view-lite": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz", + "integrity": "sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", + "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "dependencies": { + "@types/react": "*" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-player": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/react-player/-/react-player-2.16.0.tgz", + "integrity": "sha512-mAIPHfioD7yxO0GNYVFD1303QFtI3lyyQZLY229UEAp/a10cSW+hPcakg0Keq8uWJxT2OiT/4Gt+Lc9bD6bJmQ==", + "dependencies": { + "deepmerge": "^4.0.0", + "load-script": "^1.0.0", + "memoize-one": "^5.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.0.1" + }, + "peerDependencies": { + "react": ">=16.6.0" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.0.tgz", + "integrity": "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.3.tgz", + "integrity": "sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" + }, + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rehype-parse": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-7.0.1.tgz", + "integrity": "sha512-fOiR9a9xH+Le19i4fGzIEowAbwG7idy2Jzs4mOrFWBSJ0sNUgy0ev871dwWnbOo371SjgjG4pwzrbgSVrKxecw==", + "dependencies": { + "hast-util-from-parse5": "^6.0.0", + "parse5": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-emoji": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", + "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "dependencies": { + "@types/mdast": "^4.0.2", + "emoticon": "^4.0.1", + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.0", + "unified": "^11.0.4" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", + "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", + "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.9", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.9.tgz", + "integrity": "sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rtl-detect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" + }, + "node_modules/rtlcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", + "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0", + "postcss": "^8.4.21", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/sitemap": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", + "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", + "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/stylehacks": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.37.0.tgz", + "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", + "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-vfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-6.1.0.tgz", + "integrity": "sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==", + "dependencies": { + "is-buffer": "^2.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/to-vfile/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + }, + "node_modules/to-vfile/node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/to-vfile/node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/to-vfile/node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", + "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-find-after": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-3.0.0.tgz", + "integrity": "sha512-ojlBqfsBftYXExNu3+hHLfJQ/X1jYY/9vdm4yZWjIbf0VuWF6CRufci1ZyoD/wV2TYMKxXUoNuoqwy+CkgzAiQ==", + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", + "dependencies": { + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/url-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/url-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpack": { + "version": "5.97.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", + "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpackbar": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", + "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==", + "dependencies": { + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "consola": "^3.2.3", + "figures": "^3.2.0", + "markdown-table": "^2.0.0", + "pretty-time": "^1.1.0", + "std-env": "^3.7.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/webpackbar/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/webpackbar/node_modules/markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dependencies": { + "repeat-string": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpackbar/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wide-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0354bd4 --- /dev/null +++ b/package.json @@ -0,0 +1,49 @@ +{ + "name": "my-website", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" + }, + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/preset-classic": "3.6.3", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "docusaurus-lunr-search": "^3.5.0", + "docusaurus-plugin-remote-content": "^4.0.0", + "lunr": "^2.3.9", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react-player": "^2.16.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/types": "3.6.3" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + }, + "packageManager": "pnpm@9.12.3" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..0f980df --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,12006 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@docusaurus/core': + specifier: 3.6.3 + version: 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/preset-classic': + specifier: 3.6.3 + version: 3.6.3(@algolia/client-search@5.15.0)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.7.2) + '@mdx-js/react': + specifier: ^3.0.0 + version: 3.1.0(@types/react@18.3.12)(react@18.3.1) + clsx: + specifier: ^2.0.0 + version: 2.1.1 + docusaurus-lunr-search: + specifier: ^3.5.0 + version: 3.5.0(@docusaurus/core@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + docusaurus-plugin-remote-content: + specifier: ^4.0.0 + version: 4.0.0(@docusaurus/core@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)) + lunr: + specifier: ^2.3.9 + version: 2.3.9 + prism-react-renderer: + specifier: ^2.3.0 + version: 2.4.0(react@18.3.1) + react: + specifier: ^18.0.0 + version: 18.3.1 + react-dom: + specifier: ^18.0.0 + version: 18.3.1(react@18.3.1) + react-player: + specifier: ^2.16.0 + version: 2.16.0(react@18.3.1) + devDependencies: + '@docusaurus/module-type-aliases': + specifier: 3.6.3 + version: 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': + specifier: 3.6.3 + version: 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + +packages: + + '@algolia/autocomplete-core@1.17.7': + resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} + + '@algolia/autocomplete-plugin-algolia-insights@1.17.7': + resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.17.7': + resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.17.7': + resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/cache-browser-local-storage@4.24.0': + resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==} + + '@algolia/cache-common@4.24.0': + resolution: {integrity: sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==} + + '@algolia/cache-in-memory@4.24.0': + resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==} + + '@algolia/client-abtesting@5.15.0': + resolution: {integrity: sha512-FaEM40iuiv1mAipYyiptP4EyxkJ8qHfowCpEeusdHUC4C7spATJYArD2rX3AxkVeREkDIgYEOuXcwKUbDCr7Nw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-account@4.24.0': + resolution: {integrity: sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==} + + '@algolia/client-analytics@4.24.0': + resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==} + + '@algolia/client-analytics@5.15.0': + resolution: {integrity: sha512-lho0gTFsQDIdCwyUKTtMuf9nCLwq9jOGlLGIeQGKDxXF7HbiAysFIu5QW/iQr1LzMgDyM9NH7K98KY+BiIFriQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@4.24.0': + resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==} + + '@algolia/client-common@5.15.0': + resolution: {integrity: sha512-IofrVh213VLsDkPoSKMeM9Dshrv28jhDlBDLRcVJQvlL8pzue7PEB1EZ4UoJFYS3NSn7JOcJ/V+olRQzXlJj1w==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.15.0': + resolution: {integrity: sha512-bDDEQGfFidDi0UQUCbxXOCdphbVAgbVmxvaV75cypBTQkJ+ABx/Npw7LkFGw1FsoVrttlrrQbwjvUB6mLVKs/w==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@4.24.0': + resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==} + + '@algolia/client-personalization@5.15.0': + resolution: {integrity: sha512-LfaZqLUWxdYFq44QrasCDED5bSYOswpQjSiIL7Q5fYlefAAUO95PzBPKCfUhSwhb4rKxigHfDkd81AvEicIEoA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.15.0': + resolution: {integrity: sha512-wu8GVluiZ5+il8WIRsGKu8VxMK9dAlr225h878GGtpTL6VBvwyJvAyLdZsfFIpY0iN++jiNb31q2C1PlPL+n/A==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@4.24.0': + resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==} + + '@algolia/client-search@5.15.0': + resolution: {integrity: sha512-Z32gEMrRRpEta5UqVQA612sLdoqY3AovvUPClDfMxYrbdDAebmGDVPtSogUba1FZ4pP5dx20D3OV3reogLKsRA==} + engines: {node: '>= 14.0.0'} + + '@algolia/events@4.0.1': + resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + + '@algolia/ingestion@1.15.0': + resolution: {integrity: sha512-MkqkAxBQxtQ5if/EX2IPqFA7LothghVyvPoRNA/meS2AW2qkHwcxjuiBxv4H6mnAVEPfJlhu9rkdVz9LgCBgJg==} + engines: {node: '>= 14.0.0'} + + '@algolia/logger-common@4.24.0': + resolution: {integrity: sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==} + + '@algolia/logger-console@4.24.0': + resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==} + + '@algolia/monitoring@1.15.0': + resolution: {integrity: sha512-QPrFnnGLMMdRa8t/4bs7XilPYnoUXDY8PMQJ1sf9ZFwhUysYYhQNX34/enoO0LBjpoOY6rLpha39YQEFbzgKyQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@4.24.0': + resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==} + + '@algolia/recommend@5.15.0': + resolution: {integrity: sha512-5eupMwSqMLDObgSMF0XG958zR6GJP3f7jHDQ3/WlzCM9/YIJiWIUoJFGsko9GYsA5xbLDHE/PhWtq4chcCdaGQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@4.24.0': + resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==} + + '@algolia/requester-browser-xhr@5.15.0': + resolution: {integrity: sha512-Po/GNib6QKruC3XE+WKP1HwVSfCDaZcXu48kD+gwmtDlqHWKc7Bq9lrS0sNZ456rfCKhXksOmMfUs4wRM/Y96w==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-common@4.24.0': + resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==} + + '@algolia/requester-fetch@5.15.0': + resolution: {integrity: sha512-rOZ+c0P7ajmccAvpeeNrUmEKoliYFL8aOR5qGW5pFq3oj3Iept7Y5mEtEsOBYsRt6qLnaXn4zUKf+N8nvJpcIw==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@4.24.0': + resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==} + + '@algolia/requester-node-http@5.15.0': + resolution: {integrity: sha512-b1jTpbFf9LnQHEJP5ddDJKE2sAlhYd7EVSOWgzo/27n/SfCoHfqD0VWntnWYD83PnOKvfe8auZ2+xCb0TXotrQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/transporter@4.24.0': + resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.2': + resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.2': + resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.25.9': + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': + resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.25.9': + resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.25.9': + resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.3': + resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-member-expression-to-functions@7.25.9': + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.25.9': + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.25.9': + resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.25.9': + resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.25.9': + resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.25.9': + resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.2': + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': + resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': + resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': + resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': + resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': + resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.26.0': + resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.9': + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.25.9': + resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.25.9': + resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.25.9': + resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.25.9': + resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.25.9': + resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.25.9': + resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.26.0': + resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.25.9': + resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.25.9': + resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.25.9': + resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.25.9': + resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.25.9': + resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.25.9': + resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.25.9': + resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.25.9': + resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.25.9': + resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.25.9': + resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.25.9': + resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.25.9': + resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9': + resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.25.9': + resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.25.9': + resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.25.9': + resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.25.9': + resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.25.9': + resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.25.9': + resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': + resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.25.9': + resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.25.9': + resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.25.9': + resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.25.9': + resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.25.9': + resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.25.9': + resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.25.9': + resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.25.9': + resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.25.9': + resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-constant-elements@7.25.9': + resolution: {integrity: sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.25.9': + resolution: {integrity: sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.25.9': + resolution: {integrity: sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.25.9': + resolution: {integrity: sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.25.9': + resolution: {integrity: sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.25.9': + resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.26.0': + resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.25.9': + resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.25.9': + resolution: {integrity: sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.25.9': + resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.25.9': + resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.25.9': + resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.25.9': + resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.25.9': + resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.25.9': + resolution: {integrity: sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.25.9': + resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.25.9': + resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.25.9': + resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9': + resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.26.0': + resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.25.9': + resolution: {integrity: sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.26.0': + resolution: {integrity: sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime-corejs3@7.26.0': + resolution: {integrity: sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.9': + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + engines: {node: '>=6.9.0'} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@csstools/cascade-layer-name-parser@2.0.4': + resolution: {integrity: sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.4 + '@csstools/css-tokenizer': ^3.0.3 + + '@csstools/color-helpers@5.0.1': + resolution: {integrity: sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.0': + resolution: {integrity: sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.4 + '@csstools/css-tokenizer': ^3.0.3 + + '@csstools/css-color-parser@3.0.6': + resolution: {integrity: sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.4 + '@csstools/css-tokenizer': ^3.0.3 + + '@csstools/css-parser-algorithms@3.0.4': + resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.3 + + '@csstools/css-tokenizer@3.0.3': + resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} + engines: {node: '>=18'} + + '@csstools/media-query-list-parser@4.0.2': + resolution: {integrity: sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.4 + '@csstools/css-tokenizer': ^3.0.3 + + '@csstools/postcss-cascade-layers@5.0.1': + resolution: {integrity: sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-function@4.0.6': + resolution: {integrity: sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-mix-function@3.0.6': + resolution: {integrity: sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-content-alt-text@2.0.4': + resolution: {integrity: sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-exponential-functions@2.0.5': + resolution: {integrity: sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-font-format-keywords@4.0.0': + resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gamut-mapping@2.0.6': + resolution: {integrity: sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gradients-interpolation-method@5.0.6': + resolution: {integrity: sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-hwb-function@4.0.6': + resolution: {integrity: sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-ic-unit@4.0.0': + resolution: {integrity: sha512-9QT5TDGgx7wD3EEMN3BSUG6ckb6Eh5gSPT5kZoVtUuAonfPmLDJyPhqR4ntPpMYhUKAMVKAg3I/AgzqHMSeLhA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-initial@2.0.0': + resolution: {integrity: sha512-dv2lNUKR+JV+OOhZm9paWzYBXOCi+rJPqJ2cJuhh9xd8USVrd0cBEPczla81HNOyThMQWeCcdln3gZkQV2kYxA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-is-pseudo-class@5.0.1': + resolution: {integrity: sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-light-dark-function@2.0.7': + resolution: {integrity: sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-float-and-clear@3.0.0': + resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overflow@2.0.0': + resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0': + resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-resize@3.0.0': + resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-viewport-units@3.0.3': + resolution: {integrity: sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-minmax@2.0.5': + resolution: {integrity: sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4': + resolution: {integrity: sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-nested-calc@4.0.0': + resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-normalize-display-values@4.0.0': + resolution: {integrity: sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-oklab-function@4.0.6': + resolution: {integrity: sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-progressive-custom-properties@4.0.0': + resolution: {integrity: sha512-XQPtROaQjomnvLUSy/bALTR5VCtTVUFwYs1SblvYgLSeTo2a/bMNwUwo2piXw5rTv/FEYiy5yPSXBqg9OKUx7Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-random-function@1.0.1': + resolution: {integrity: sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-relative-color-syntax@3.0.6': + resolution: {integrity: sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-scope-pseudo-class@4.0.1': + resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-sign-functions@1.1.0': + resolution: {integrity: sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-stepped-value-functions@4.0.5': + resolution: {integrity: sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-text-decoration-shorthand@4.0.1': + resolution: {integrity: sha512-xPZIikbx6jyzWvhms27uugIc0I4ykH4keRvoa3rxX5K7lEhkbd54rjj/dv60qOCTisoS+3bmwJTeyV1VNBrXaw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-trigonometric-functions@4.0.5': + resolution: {integrity: sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-unset-value@4.0.0': + resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/selector-resolve-nested@3.0.0': + resolution: {integrity: sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/selector-specificity@5.0.0': + resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/utilities@2.0.0': + resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@docsearch/css@3.8.0': + resolution: {integrity: sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==} + + '@docsearch/react@3.8.0': + resolution: {integrity: sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@docusaurus/babel@3.6.3': + resolution: {integrity: sha512-7dW9Hat9EHYCVicFXYA4hjxBY38+hPuCURL8oRF9fySRm7vzNWuEOghA1TXcykuXZp0HLG2td4RhDxCvGG7tNw==} + engines: {node: '>=18.0'} + + '@docusaurus/bundler@3.6.3': + resolution: {integrity: sha512-47JLuc8D4wA+6VOvmMd5fUC9rFppBQpQOnxDYiVXffm/DeV/wmm3sbpNd5Y+O+G2+nevLTRnvCm/qyancv0Y3A==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/faster': '*' + peerDependenciesMeta: + '@docusaurus/faster': + optional: true + + '@docusaurus/core@3.6.3': + resolution: {integrity: sha512-xL7FRY9Jr5DWqB6pEnqgKqcMPJOX5V0pgWXi5lCiih11sUBmcFKM7c3+GyxcVeeWFxyYSDP3grLTWqJoP4P9Vw==} + engines: {node: '>=18.0'} + hasBin: true + peerDependencies: + '@mdx-js/react': ^3.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/cssnano-preset@3.6.3': + resolution: {integrity: sha512-qP7SXrwZ+23GFJdPN4aIHQrZW+oH/7tzwEuc/RNL0+BdZdmIjYQqUxdXsjE4lFxLNZjj0eUrSNYIS6xwfij+5Q==} + engines: {node: '>=18.0'} + + '@docusaurus/logger@3.6.3': + resolution: {integrity: sha512-xSubJixcNyMV9wMV4q0s47CBz3Rlc5jbcCCuij8pfQP8qn/DIpt0ks8W6hQWzHAedg/J/EwxxUOUrnEoKzJo8g==} + engines: {node: '>=18.0'} + + '@docusaurus/mdx-loader@3.6.3': + resolution: {integrity: sha512-3iJdiDz9540ppBseeI93tWTDtUGVkxzh59nMq4ignylxMuXBLK8dFqVeaEor23v1vx6TrGKZ2FuLaTB+U7C0QQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/module-type-aliases@3.6.3': + resolution: {integrity: sha512-MjaXX9PN/k5ugNvfRZdWyKWq4FsrhN4LEXaj0pEmMebJuBNlFeGyKQUa9DRhJHpadNaiMLrbo9m3U7Ig5YlsZg==} + peerDependencies: + react: '*' + react-dom: '*' + + '@docusaurus/plugin-content-blog@3.6.3': + resolution: {integrity: sha512-k0ogWwwJU3pFRFfvW1kRVHxzf2DutLGaaLjAnHVEU6ju+aRP0Z5ap/13DHyPOfHeE4WKpn/M0TqjdwZAcY3kAw==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-content-docs@3.6.3': + resolution: {integrity: sha512-r2wS8y/fsaDcxkm20W5bbYJFPzdWdEaTWVYjNxlHlcmX086eqQR1Fomlg9BHTJ0dLXPzAlbC8EN4XqMr3QzNCQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-content-pages@3.6.3': + resolution: {integrity: sha512-eHrmTgjgLZsuqfsYr5X2xEwyIcck0wseSofWrjTwT9FLOWp+KDmMAuVK+wRo7sFImWXZk3oV/xX/g9aZrhD7OA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-debug@3.6.3': + resolution: {integrity: sha512-zB9GXfIZNPRfzKnNjU6xGVrqn9bPXuGhpjgsuc/YtcTDjnjhasg38NdYd5LEqXex5G/zIorQgWB3n6x/Ut62vQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-google-analytics@3.6.3': + resolution: {integrity: sha512-rCDNy1QW8Dag7nZq67pcum0bpFLrwvxJhYuVprhFh8BMBDxV0bY+bAkGHbSf68P3Bk9C3hNOAXX1srGLIDvcTA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-google-gtag@3.6.3': + resolution: {integrity: sha512-+OyDvhM6rqVkQOmLVkQWVJAizEEfkPzVWtIHXlWPOCFGK9X4/AWeBSrU0WG4iMg9Z4zD4YDRrU+lvI4s6DSC+w==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-google-tag-manager@3.6.3': + resolution: {integrity: sha512-1M6UPB13gWUtN2UHX083/beTn85PlRI9ABItTl/JL1FJ5dJTWWFXXsHf9WW/6hrVwthwTeV/AGbGKvLKV+IlCA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-sitemap@3.6.3': + resolution: {integrity: sha512-94qOO4M9Fwv9KfVQJsgbe91k+fPJ4byf1L3Ez8TUa6TAFPo/BrLwQ80zclHkENlL1824TuxkcMKv33u6eydQCg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/preset-classic@3.6.3': + resolution: {integrity: sha512-VHSYWROT3flvNNI1SrnMOtW1EsjeHNK9dhU6s9eY5hryZe79lUqnZJyze/ymDe2LXAqzyj6y5oYvyBoZZk6ErA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/react-loadable@6.0.0': + resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} + peerDependencies: + react: '*' + + '@docusaurus/theme-classic@3.6.3': + resolution: {integrity: sha512-1RRLK1tSArI2c00qugWYO3jRocjOZwGF1mBzPPylDVRwWCS/rnWWR91ChdbbaxIupRJ+hX8ZBYrwr5bbU0oztQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-common@3.6.3': + resolution: {integrity: sha512-b8ZkhczXHDxWWyvz+YJy4t/PlPbEogTTbgnHoflYnH7rmRtyoodTsu8WVM12la5LmlMJBclBXFl29OH8kPE7gg==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-search-algolia@3.6.3': + resolution: {integrity: sha512-rt+MGCCpYgPyWCGXtbxlwFbTSobu15jWBTPI2LHsHNa5B0zSmOISX6FWYAPt5X1rNDOqMGM0FATnh7TBHRohVA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-translations@3.6.3': + resolution: {integrity: sha512-Gb0regclToVlngSIIwUCtBMQBq48qVUaN1XQNKW4XwlsgUyk0vP01LULdqbem7czSwIeBAFXFoORJ0RPX7ht/w==} + engines: {node: '>=18.0'} + + '@docusaurus/types@3.6.3': + resolution: {integrity: sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/utils-common@3.6.3': + resolution: {integrity: sha512-v4nKDaANLgT3pMBewHYEMAl/ufY0LkXao1QkFWzI5huWFOmNQ2UFzv2BiKeHX5Ownis0/w6cAyoxPhVdDonlSQ==} + engines: {node: '>=18.0'} + + '@docusaurus/utils-validation@3.6.3': + resolution: {integrity: sha512-bhEGGiN5BE38h21vjqD70Gxg++j+PfYVddDUE5UFvLDup68QOcpD33CLr+2knPorlxRbEaNfz6HQDUMQ3HuqKw==} + engines: {node: '>=18.0'} + + '@docusaurus/utils@3.6.3': + resolution: {integrity: sha512-0R/FR3bKVl4yl8QwbL4TYFfR+OXBRpVUaTJdENapBGR3YMwfM6/JnhGilWQO8AOwPJGtGoDK7ib8+8UF9f3OZQ==} + engines: {node: '>=18.0'} + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@mdx-js/mdx@3.1.0': + resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} + + '@mdx-js/react@3.1.0': + resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + engines: {node: '>=12'} + + '@polka/url@1.0.0-next.28': + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@slorber/remark-comment@1.0.0': + resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + + '@types/express-serve-static-core@5.0.2': + resolution: {integrity: sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + + '@types/gtag.js@0.0.12': + resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + + '@types/hast@2.3.10': + resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + + '@types/http-proxy@1.17.15': + resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/node-forge@1.3.11': + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/node@22.10.0': + resolution: {integrity: sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/parse5@5.0.3': + resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==} + + '@types/prismjs@1.26.5': + resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} + + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} + + '@types/qs@6.9.17': + resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-router-config@5.0.11': + resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + + '@types/react-router-dom@5.3.3': + resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + + '@types/react@18.3.12': + resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/ws@8.5.13': + resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + algoliasearch-helper@3.22.5: + resolution: {integrity: sha512-lWvhdnc+aKOKx8jyA3bsdEgHzm/sglC4cYdMG4xSQyRiPLJVJtH/IVYZG3Hp6PkTEhQqhyVYkeP9z2IlcHJsWw==} + peerDependencies: + algoliasearch: '>= 3.1 < 6' + + algoliasearch@4.24.0: + resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} + + algoliasearch@5.15.0: + resolution: {integrity: sha512-Yf3Swz1s63hjvBVZ/9f2P1Uu48GjmjCN+Esxb6MAONMGtZB1fRX8/S1AhUTtsuTlcGovbYLxpHgc7wEzstDZBw==} + engines: {node: '>= 14.0.0'} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + autocomplete.js@0.37.1: + resolution: {integrity: sha512-PgSe9fHYhZEsm/9jggbjtVsGXJkPLvd+9mC7gZJ662vVL5CRWEtm/mIrrzCx0MrNxHVwxD5d00UOn6NsmL2LUQ==} + + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + + babel-loader@9.2.1: + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + + babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + + babel-plugin-polyfill-corejs2@0.4.12: + resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.3: + resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + bail@1.0.5: + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + bcp-47-match@1.0.3: + resolution: {integrity: sha512-LggQ4YTdjWQSKELZF5JwchnBa1u0pIQSZf5lSdOHEdbVP55h0qICA/FUp3+W99q0xqxYa1ZQizTUH87gecII5w==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.3.0: + resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001684: + resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combine-promises@1.2.0: + resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} + engines: {node: '>=10'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@1.0.8: + resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.7.5: + resolution: {integrity: sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + + copy-text-to-clipboard@3.2.0: + resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==} + engines: {node: '>=12'} + + copy-webpack-plugin@11.0.0: + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + + core-js-compat@3.39.0: + resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + + core-js-pure@3.39.0: + resolution: {integrity: sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==} + + core-js@3.39.0: + resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@6.0.0: + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + + css-blank-pseudo@7.0.1: + resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-declaration-sorter@7.2.0: + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-has-pseudo@7.0.1: + resolution: {integrity: sha512-EOcoyJt+OsuKfCADgLT7gADZI5jMzIe/AeI6MeAYKiFBDmNmM7kk46DtSfMj5AohUJisqVzopBpnQTlvbyaBWg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-minimizer-webpack-plugin@5.0.1: + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@parcel/css': '*' + '@swc/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + lightningcss: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + '@swc/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + + css-prefers-color-scheme@10.0.0: + resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-selector-parser@1.4.1: + resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + cssdb@8.2.1: + resolution: {integrity: sha512-KwEPys7lNsC8OjASI8RrmwOYYDcm0JOW9zQhcV83ejYcQkirTEyeAGui8aO2F5PiS6SLpxuTzl6qlMElIdsgIg==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-advanced@6.1.2: + resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + detect-port-alt@1.1.6: + resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} + engines: {node: '>= 4.2.1'} + hasBin: true + + detect-port@1.6.1: + resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} + engines: {node: '>= 4.0.0'} + hasBin: true + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + direction@1.0.4: + resolution: {integrity: sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==} + hasBin: true + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + docusaurus-lunr-search@3.5.0: + resolution: {integrity: sha512-k3zN4jYMi/prWInJILGKOxE+BVcgYinwj9+gcECsYm52tS+4ZKzXQzbPnVJAEXmvKOfFMcDFvS3MSmm6cEaxIQ==} + engines: {node: '>= 8.10.0'} + peerDependencies: + '@docusaurus/core': ^2.0.0-alpha.60 || ^2.0.0 || ^3.0.0 + react: ^16.8.4 || ^17 || ^18 + react-dom: ^16.8.4 || ^17 || ^18 + + docusaurus-plugin-remote-content@4.0.0: + resolution: {integrity: sha512-e+gBmNdgOwA+7u6O2kk/u1w4ET23j8OIF6OiOWV6EoKHJJ/w/8U5smkHNlrQC3hQOltxE2NRC1jbsG7wfS+d3w==} + engines: {node: '>=18'} + peerDependencies: + '@docusaurus/core': 2.x || 3.x + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.65: + resolution: {integrity: sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + emoticon@4.1.0: + resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.2.1: + resolution: {integrity: sha512-Vt2UOjyPbNQQgT5eJh+K5aATti0OjCIAGc9SgMdOFYbohuifsWclR74l0iZTJwePMgWYdX1hlVS+dedH9XV8kw==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eta@2.2.0: + resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} + engines: {node: '>=6.0.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eval@0.1.8: + resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} + engines: {node: '>= 0.8'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + express@4.21.1: + resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} + engines: {node: '>= 0.10.0'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-uri@3.0.3: + resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + feed@4.2.2: + resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} + engines: {node: '>=0.4.0'} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-loader@6.2.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + filesize@8.0.7: + resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} + engines: {node: '>= 0.4.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + fork-ts-checker-webpack-plugin@6.5.3: + resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + + has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@6.0.1: + resolution: {integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==} + + hast-util-from-parse5@8.0.2: + resolution: {integrity: sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==} + + hast-util-has-property@1.0.4: + resolution: {integrity: sha512-ghHup2voGfgFoHMGnaLHOjbYFACKrRh9KFttdCzMCbFoBMJXiNi2+XTrPP8+q6cDJM/RSqlCfVWrjp1H201rZg==} + + hast-util-is-element@1.1.0: + resolution: {integrity: sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==} + + hast-util-parse-selector@2.2.5: + resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-select@4.0.2: + resolution: {integrity: sha512-8EEG2//bN5rrzboPWD2HdS3ugLijNioS1pqOTIolXNf67xxShYw4SQEmVXd3imiBG+U2bC2nVTySr/iRAA7Cjg==} + + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + + hast-util-to-jsx-runtime@2.3.2: + resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-string@1.0.4: + resolution: {integrity: sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==} + + hast-util-to-text@2.0.1: + resolution: {integrity: sha512-8nsgCARfs6VkwH2jJU9b8LNTuR4700na+0h3PqCaEk4MAnMDeu5P0tP8mjk9LLNGxIeQRLbiDbZVw6rku+pYsQ==} + + hast-util-whitespace@1.0.4: + resolution: {integrity: sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@6.0.0: + resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} + + hastscript@9.0.0: + resolution: {integrity: sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + + hogan.js@3.0.2: + resolution: {integrity: sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==} + hasBin: true + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-entities@2.5.2: + resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-webpack-plugin@5.6.3: + resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + + http-proxy-middleware@2.0.7: + resolution: {integrity: sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + engines: {node: '>=16.x'} + hasBin: true + + immediate@3.3.0: + resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} + + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infima@0.2.0-alpha.45: + resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==} + engines: {node: '>=12'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-root@2.1.0: + resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} + engines: {node: '>=6'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + + launch-editor@2.9.1: + resolution: {integrity: sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + load-script@1.0.0: + resolution: {integrity: sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + engines: {node: '>= 12.13.0'} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lunr-languages@1.14.0: + resolution: {integrity: sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@2.0.0: + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.1.3: + resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@2.0.2: + resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} + + micromark-extension-directive@3.0.2: + resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.0: + resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + + micromark-extension-mdx-jsx@3.0.1: + resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.2: + resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.0.3: + resolution: {integrity: sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + + micromark@4.0.1: + resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.53.0: + resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + mini-css-extract-plugin@2.9.2: + resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mkdirp@0.3.0: + resolution: {integrity: sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-emoji@2.1.3: + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} + engines: {node: '>=18'} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + nopt@1.0.10: + resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} + hasBin: true + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + engines: {node: '>=14.16'} + + not@0.1.0: + resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + null-loader@4.0.1: + resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-ms@2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + + path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + + path-to-regexp@3.3.0: + resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + + postcss-attribute-case-insensitive@7.0.1: + resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + + postcss-clamp@4.1.0: + resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} + engines: {node: '>=7.6.0'} + peerDependencies: + postcss: ^8.4.6 + + postcss-color-functional-notation@7.0.6: + resolution: {integrity: sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-hex-alpha@10.0.0: + resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-rebeccapurple@10.0.0: + resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-custom-media@11.0.5: + resolution: {integrity: sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-properties@14.0.4: + resolution: {integrity: sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-selectors@8.0.4: + resolution: {integrity: sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-dir-pseudo-class@9.0.1: + resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-unused@6.0.5: + resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-double-position-gradients@6.0.0: + resolution: {integrity: sha512-JkIGah3RVbdSEIrcobqj4Gzq0h53GG4uqDPsho88SgY84WnpkTpI0k50MFK/sX7XqVisZ6OqUfFnoUO6m1WWdg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-visible@10.0.1: + resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-within@9.0.1: + resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-font-variant@5.0.0: + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + + postcss-gap-properties@6.0.0: + resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-image-set-function@7.0.0: + resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-lab-function@7.0.6: + resolution: {integrity: sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-loader@7.3.4: + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + + postcss-logical@8.0.0: + resolution: {integrity: sha512-HpIdsdieClTjXLOyYdUPAX/XQASNIwdKt5hoZW08ZOAiI+tbV0ta1oclkpVkW5ANU+xJvk3KkA0FejkjGLXUkg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-merge-idents@6.0.3: + resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.1.0: + resolution: {integrity: sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-nesting@13.0.1: + resolution: {integrity: sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-opacity-percentage@3.0.0: + resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-overflow-shorthand@6.0.0: + resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-page-break@3.0.4: + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + + postcss-place@10.0.0: + resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-preset-env@10.1.1: + resolution: {integrity: sha512-wqqsnBFD6VIwcHHRbhjTOcOi4qRVlB26RwSr0ordPj7OubRRxdWebv/aLjKLRR8zkZrbxZyuus03nOIgC5elMQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-pseudo-class-any-link@10.0.1: + resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-reduce-idents@6.0.3: + resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-replace-overflow-wrap@4.0.0: + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + + postcss-selector-not@8.0.1: + resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-selector-parser@7.0.0: + resolution: {integrity: sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==} + engines: {node: '>=4'} + + postcss-sort-media-queries@5.2.0: + resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.4.23 + + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss-zindex@6.0.2: + resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + engines: {node: ^10 || ^12 || >=14} + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-ms@7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + + pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + + prism-react-renderer@2.4.0: + resolution: {integrity: sha512-327BsVCD/unU4CNLZTWVHyUHKnsqcvj2qbPlQ8MiBE2eq2rgctjigPA1Gp9HLF83kZ20zNN6jgizHJeEsyFYOw==} + peerDependencies: + react: '>=16.0.0' + + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@5.6.0: + resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-dev-utils@12.0.1: + resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-error-overlay@6.0.11: + resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-helmet-async@1.3.0: + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + + react-helmet-async@2.0.5: + resolution: {integrity: sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-json-view-lite@1.5.0: + resolution: {integrity: sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==} + engines: {node: '>=14'} + peerDependencies: + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + + react-loadable-ssr-addon-v5-slorber@1.0.1: + resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} + engines: {node: '>=10.13.0'} + peerDependencies: + react-loadable: '*' + webpack: '>=4.41.1 || 5.x' + + react-player@2.16.0: + resolution: {integrity: sha512-mAIPHfioD7yxO0GNYVFD1303QFtI3lyyQZLY229UEAp/a10cSW+hPcakg0Keq8uWJxT2OiT/4Gt+Lc9bD6bJmQ==} + peerDependencies: + react: '>=16.6.0' + + react-router-config@5.1.1: + resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} + peerDependencies: + react: '>=15' + react-router: '>=5' + + react-router-dom@5.3.4: + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} + peerDependencies: + react: '>=15' + + react-router@5.3.4: + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + peerDependencies: + react: '>=15' + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + reading-time@1.5.0: + resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.0: + resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==} + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + + recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regexpu-core@6.2.0: + resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + engines: {node: '>=4'} + + registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true + + rehype-parse@7.0.1: + resolution: {integrity: sha512-fOiR9a9xH+Le19i4fGzIEowAbwG7idy2Jzs4mOrFWBSJ0sNUgy0ev871dwWnbOo371SjgjG4pwzrbgSVrKxecw==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remark-directive@3.0.0: + resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-mdx@3.1.0: + resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.1: + resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-like@0.1.2: + resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + + rtl-detect@1.1.2: + resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==} + + rtlcss@4.3.0: + resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} + engines: {node: '>=12.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + schema-utils@2.7.0: + resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} + engines: {node: '>= 8.9.0'} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-handler@6.1.6: + resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} + + serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@7.1.2: + resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sort-css-media-queries@2.2.0: + resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} + engines: {node: '>= 6.3.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@1.1.5: + resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + srcset@4.0.0: + resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} + engines: {node: '>=12'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + style-to-object@1.0.8: + resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} + + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.36.0: + resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} + engines: {node: '>=10'} + hasBin: true + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + to-vfile@6.1.0: + resolution: {integrity: sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@1.0.5: + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unified@9.2.2: + resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} + + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + + unist-util-find-after@3.0.0: + resolution: {integrity: sha512-ojlBqfsBftYXExNu3+hHLfJQ/X1jYY/9vdm4yZWjIbf0VuWF6CRufci1ZyoD/wV2TYMKxXUoNuoqwy+CkgzAiQ==} + + unist-util-is@4.1.0: + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@3.1.1: + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@2.0.3: + resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-loader@4.1.1: + resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vfile-location@3.2.0: + resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==} + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@2.0.4: + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@4.2.1: + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + web-namespaces@1.1.4: + resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-merge@6.0.1: + resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} + engines: {node: '>=18.0.0'} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack@5.96.1: + resolution: {integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + webpackbar@6.0.1: + resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} + engines: {node: '>=14.21.3'} + peerDependencies: + webpack: 3 || 4 || 5 + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + + xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} + + zwitch@1.0.5: + resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)': + dependencies: + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0) + '@algolia/client-search': 5.15.0 + algoliasearch: 5.15.0 + + '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)': + dependencies: + '@algolia/client-search': 5.15.0 + algoliasearch: 5.15.0 + + '@algolia/cache-browser-local-storage@4.24.0': + dependencies: + '@algolia/cache-common': 4.24.0 + + '@algolia/cache-common@4.24.0': {} + + '@algolia/cache-in-memory@4.24.0': + dependencies: + '@algolia/cache-common': 4.24.0 + + '@algolia/client-abtesting@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + '@algolia/client-account@4.24.0': + dependencies: + '@algolia/client-common': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/transporter': 4.24.0 + + '@algolia/client-analytics@4.24.0': + dependencies: + '@algolia/client-common': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 + + '@algolia/client-analytics@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + '@algolia/client-common@4.24.0': + dependencies: + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 + + '@algolia/client-common@5.15.0': {} + + '@algolia/client-insights@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + '@algolia/client-personalization@4.24.0': + dependencies: + '@algolia/client-common': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 + + '@algolia/client-personalization@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + '@algolia/client-query-suggestions@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + '@algolia/client-search@4.24.0': + dependencies: + '@algolia/client-common': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 + + '@algolia/client-search@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + '@algolia/events@4.0.1': {} + + '@algolia/ingestion@1.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + '@algolia/logger-common@4.24.0': {} + + '@algolia/logger-console@4.24.0': + dependencies: + '@algolia/logger-common': 4.24.0 + + '@algolia/monitoring@1.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + '@algolia/recommend@4.24.0': + dependencies: + '@algolia/cache-browser-local-storage': 4.24.0 + '@algolia/cache-common': 4.24.0 + '@algolia/cache-in-memory': 4.24.0 + '@algolia/client-common': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/logger-console': 4.24.0 + '@algolia/requester-browser-xhr': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/requester-node-http': 4.24.0 + '@algolia/transporter': 4.24.0 + + '@algolia/recommend@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + '@algolia/requester-browser-xhr@4.24.0': + dependencies: + '@algolia/requester-common': 4.24.0 + + '@algolia/requester-browser-xhr@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + + '@algolia/requester-common@4.24.0': {} + + '@algolia/requester-fetch@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + + '@algolia/requester-node-http@4.24.0': + dependencies: + '@algolia/requester-common': 4.24.0 + + '@algolia/requester-node-http@5.15.0': + dependencies: + '@algolia/client-common': 5.15.0 + + '@algolia/transporter@4.24.0': + dependencies: + '@algolia/cache-common': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/requester-common': 4.24.0 + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.2': {} + + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.26.2': + dependencies: + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.0.2 + + '@babel/helper-annotate-as-pure@7.25.9': + dependencies: + '@babel/types': 7.26.0 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-compilation-targets@7.25.9': + dependencies: + '@babel/compat-data': 7.26.2 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.25.9 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.2.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.3.7 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-member-expression-to-functions@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.25.9': + dependencies: + '@babel/types': 7.26.0 + + '@babel/helper-plugin-utils@7.25.9': {} + + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helper-wrap-function@7.25.9': + dependencies: + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + + '@babel/parser@7.26.2': + dependencies: + '@babel/types': 7.26.0 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 + + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-simple-access': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-constant-elements@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-runtime@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-typescript@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/preset-env@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/compat-data': 7.26.2 + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.39.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/types': 7.26.0 + esutils: 2.0.3 + + '@babel/preset-react@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-pure-annotations': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/runtime-corejs3@7.26.0': + dependencies: + core-js-pure: 3.39.0 + regenerator-runtime: 0.14.1 + + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + + '@babel/traverse@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.0': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@colors/colors@1.5.0': + optional: true + + '@csstools/cascade-layer-name-parser@2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + + '@csstools/color-helpers@5.0.1': {} + + '@csstools/css-calc@2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + + '@csstools/css-color-parser@3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + dependencies: + '@csstools/color-helpers': 5.0.1 + '@csstools/css-calc': 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + + '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': + dependencies: + '@csstools/css-tokenizer': 3.0.3 + + '@csstools/css-tokenizer@3.0.3': {} + + '@csstools/media-query-list-parser@4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + + '@csstools/postcss-cascade-layers@5.0.1(postcss@8.4.49)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.0.0) + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + '@csstools/postcss-color-function@4.0.6(postcss@8.4.49)': + dependencies: + '@csstools/css-color-parser': 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + '@csstools/postcss-color-mix-function@3.0.6(postcss@8.4.49)': + dependencies: + '@csstools/css-color-parser': 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + '@csstools/postcss-content-alt-text@2.0.4(postcss@8.4.49)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + '@csstools/postcss-exponential-functions@2.0.5(postcss@8.4.49)': + dependencies: + '@csstools/css-calc': 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + postcss: 8.4.49 + + '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.4.49)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-gamut-mapping@2.0.6(postcss@8.4.49)': + dependencies: + '@csstools/css-color-parser': 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + postcss: 8.4.49 + + '@csstools/postcss-gradients-interpolation-method@5.0.6(postcss@8.4.49)': + dependencies: + '@csstools/css-color-parser': 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + '@csstools/postcss-hwb-function@4.0.6(postcss@8.4.49)': + dependencies: + '@csstools/css-color-parser': 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + '@csstools/postcss-ic-unit@4.0.0(postcss@8.4.49)': + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-initial@2.0.0(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + + '@csstools/postcss-is-pseudo-class@5.0.1(postcss@8.4.49)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.0.0) + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + '@csstools/postcss-light-dark-function@2.0.7(postcss@8.4.49)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + + '@csstools/postcss-logical-overflow@2.0.0(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + + '@csstools/postcss-logical-resize@3.0.0(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-logical-viewport-units@3.0.3(postcss@8.4.49)': + dependencies: + '@csstools/css-tokenizer': 3.0.3 + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + '@csstools/postcss-media-minmax@2.0.5(postcss@8.4.49)': + dependencies: + '@csstools/css-calc': 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/media-query-list-parser': 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + postcss: 8.4.49 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4(postcss@8.4.49)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/media-query-list-parser': 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + postcss: 8.4.49 + + '@csstools/postcss-nested-calc@4.0.0(postcss@8.4.49)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-oklab-function@4.0.6(postcss@8.4.49)': + dependencies: + '@csstools/css-color-parser': 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + '@csstools/postcss-progressive-custom-properties@4.0.0(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-random-function@1.0.1(postcss@8.4.49)': + dependencies: + '@csstools/css-calc': 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + postcss: 8.4.49 + + '@csstools/postcss-relative-color-syntax@3.0.6(postcss@8.4.49)': + dependencies: + '@csstools/css-color-parser': 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + '@csstools/postcss-sign-functions@1.1.0(postcss@8.4.49)': + dependencies: + '@csstools/css-calc': 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + postcss: 8.4.49 + + '@csstools/postcss-stepped-value-functions@4.0.5(postcss@8.4.49)': + dependencies: + '@csstools/css-calc': 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + postcss: 8.4.49 + + '@csstools/postcss-text-decoration-shorthand@4.0.1(postcss@8.4.49)': + dependencies: + '@csstools/color-helpers': 5.0.1 + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-trigonometric-functions@4.0.5(postcss@8.4.49)': + dependencies: + '@csstools/css-calc': 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + postcss: 8.4.49 + + '@csstools/postcss-unset-value@4.0.0(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + + '@csstools/selector-resolve-nested@3.0.0(postcss-selector-parser@7.0.0)': + dependencies: + postcss-selector-parser: 7.0.0 + + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.0.0)': + dependencies: + postcss-selector-parser: 7.0.0 + + '@csstools/utilities@2.0.0(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + + '@discoveryjs/json-ext@0.5.7': {} + + '@docsearch/css@3.8.0': {} + + '@docsearch/react@3.8.0(@algolia/client-search@5.15.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0) + '@docsearch/css': 3.8.0 + algoliasearch: 5.15.0 + optionalDependencies: + '@types/react': 18.3.12 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + + '@docusaurus/babel@3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@babel/core': 7.26.0 + '@babel/generator': 7.26.2 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/preset-react': 7.25.9(@babel/core@7.26.0) + '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) + '@babel/runtime': 7.26.0 + '@babel/runtime-corejs3': 7.26.0 + '@babel/traverse': 7.25.9 + '@docusaurus/logger': 3.6.3 + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + babel-plugin-dynamic-import-node: 2.3.3 + fs-extra: 11.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/bundler@3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@babel/core': 7.26.0 + '@docusaurus/babel': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/cssnano-preset': 3.6.3 + '@docusaurus/logger': 3.6.3 + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1) + clean-css: 5.3.3 + copy-webpack-plugin: 11.0.0(webpack@5.96.1) + css-loader: 6.11.0(webpack@5.96.1) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.96.1) + cssnano: 6.1.2(postcss@8.4.49) + file-loader: 6.2.0(webpack@5.96.1) + html-minifier-terser: 7.2.0 + mini-css-extract-plugin: 2.9.2(webpack@5.96.1) + null-loader: 4.0.1(webpack@5.96.1) + postcss: 8.4.49 + postcss-loader: 7.3.4(postcss@8.4.49)(typescript@5.7.2)(webpack@5.96.1) + postcss-preset-env: 10.1.1(postcss@8.4.49) + react-dev-utils: 12.0.1(typescript@5.7.2)(webpack@5.96.1) + terser-webpack-plugin: 5.3.10(webpack@5.96.1) + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1) + webpack: 5.96.1 + webpackbar: 6.0.1(webpack@5.96.1) + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - csso + - esbuild + - eslint + - lightningcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - vue-template-compiler + - webpack-cli + + '@docusaurus/core@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/babel': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/bundler': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/logger': 3.6.3 + '@docusaurus/mdx-loader': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-common': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1) + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + core-js: 3.39.0 + del: 6.1.1 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + fs-extra: 11.2.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.3(webpack@5.96.1) + leven: 3.1.0 + lodash: 4.17.21 + p-map: 4.0.0 + prompts: 2.4.2 + react: 18.3.1 + react-dev-utils: 12.0.1(typescript@5.7.2)(webpack@5.96.1) + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.96.1) + react-router: 5.3.4(react@18.3.1) + react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtl-detect: 1.1.2 + semver: 7.6.3 + serve-handler: 6.1.6 + shelljs: 0.8.5 + tslib: 2.8.1 + update-notifier: 6.0.2 + webpack: 5.96.1 + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(webpack@5.96.1) + webpack-merge: 6.0.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/cssnano-preset@3.6.3': + dependencies: + cssnano-preset-advanced: 6.1.2(postcss@8.4.49) + postcss: 8.4.49 + postcss-sort-media-queries: 5.2.0(postcss@8.4.49) + tslib: 2.8.1 + + '@docusaurus/logger@3.6.3': + dependencies: + chalk: 4.1.2 + tslib: 2.8.1 + + '@docusaurus/mdx-loader@3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/logger': 3.6.3 + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@mdx-js/mdx': 3.1.0(acorn@8.14.0) + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.2.1 + file-loader: 6.2.0(webpack@5.96.1) + fs-extra: 11.2.0 + image-size: 1.1.1 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-raw: 7.0.0 + remark-directive: 3.0.0 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 + stringify-object: 3.3.0 + tslib: 2.8.1 + unified: 11.0.5 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1) + vfile: 6.0.3 + webpack: 5.96.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/module-type-aliases@3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/history': 4.7.11 + '@types/react': 18.3.12 + '@types/react-router-config': 5.0.11 + '@types/react-router-dom': 5.3.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 2.0.5(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/plugin-content-blog@3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/logger': 3.6.3 + '@docusaurus/mdx-loader': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-common': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + cheerio: 1.0.0-rc.12 + feed: 4.2.2 + fs-extra: 11.2.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + reading-time: 1.5.0 + srcset: 4.0.0 + tslib: 2.8.1 + unist-util-visit: 5.0.0 + utility-types: 3.11.0 + webpack: 5.96.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/logger': 3.6.3 + '@docusaurus/mdx-loader': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/module-type-aliases': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-common': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.2.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + utility-types: 3.11.0 + webpack: 5.96.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-pages@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/mdx-loader': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + webpack: 5.96.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-debug@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-json-view-lite: 1.5.0(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-analytics@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-gtag@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@types/gtag.js': 0.0.12 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-tag-manager@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-sitemap@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/logger': 3.6.3 + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-common': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + sitemap: 7.1.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/preset-classic@3.6.3(@algolia/client-search@5.15.0)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-content-blog': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-content-pages': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-debug': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-google-analytics': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-google-gtag': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-google-tag-manager': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-sitemap': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/theme-classic': 3.6.3(@types/react@18.3.12)(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/theme-search-algolia': 3.6.3(@algolia/client-search@5.15.0)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.7.2) + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/react-loadable@6.0.0(react@18.3.1)': + dependencies: + '@types/react': 18.3.12 + react: 18.3.1 + + '@docusaurus/theme-classic@3.6.3(@types/react@18.3.12)(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/logger': 3.6.3 + '@docusaurus/mdx-loader': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/module-type-aliases': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/plugin-content-pages': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/theme-translations': 3.6.3 + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-common': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1) + clsx: 2.1.1 + copy-text-to-clipboard: 3.2.0 + infima: 0.2.0-alpha.45 + lodash: 4.17.21 + nprogress: 0.2.0 + postcss: 8.4.49 + prism-react-renderer: 2.4.0(react@18.3.1) + prismjs: 1.29.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtlcss: 4.3.0 + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/theme-common@3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/mdx-loader': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/module-type-aliases': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-common': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/history': 4.7.11 + '@types/react': 18.3.12 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.4.0(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/theme-search-algolia@3.6.3(@algolia/client-search@5.15.0)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.7.2)': + dependencies: + '@docsearch/react': 3.8.0(@algolia/client-search@5.15.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/logger': 3.6.3 + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/theme-translations': 3.6.3 + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-validation': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + algoliasearch: 4.24.0 + algoliasearch-helper: 3.22.5(algoliasearch@4.24.0) + clsx: 2.1.1 + eta: 2.2.0 + fs-extra: 11.2.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/theme-translations@3.6.3': + dependencies: + fs-extra: 11.2.0 + tslib: 2.8.1 + + '@docusaurus/types@3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@mdx-js/mdx': 3.1.0(acorn@8.14.0) + '@types/history': 4.7.11 + '@types/react': 18.3.12 + commander: 5.1.0 + joi: 17.13.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + utility-types: 3.11.0 + webpack: 5.96.1 + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-common@3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-validation@3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/logger': 3.6.3 + '@docusaurus/utils': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@docusaurus/utils-common': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + fs-extra: 11.2.0 + joi: 17.13.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + tslib: 2.8.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + dependencies: + '@docusaurus/logger': 3.6.3 + '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.6.3(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@svgr/webpack': 8.1.0(typescript@5.7.2) + escape-string-regexp: 4.0.0 + file-loader: 6.2.0(webpack@5.96.1) + fs-extra: 11.2.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + jiti: 1.21.6 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.8 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1) + utility-types: 3.11.0 + webpack: 5.96.1 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - react + - react-dom + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.10.0 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@mdx-js/mdx@3.1.0(acorn@8.14.0)': + dependencies: + '@types/estree': 1.0.6 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.2 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.0(acorn@8.14.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.1 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - acorn + - supports-color + + '@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 18.3.12 + react: 18.3.1 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@2.3.1': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + + '@polka/url@1.0.0-next.28': {} + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/is@5.6.0': {} + + '@slorber/remark-comment@1.0.0': + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-preset@8.1.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.26.0) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.26.0) + + '@svgr/core@8.1.0(typescript@5.7.2)': + dependencies: + '@babel/core': 7.26.0 + '@svgr/babel-preset': 8.1.0(@babel/core@7.26.0) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.7.2) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.26.0 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.7.2))': + dependencies: + '@babel/core': 7.26.0 + '@svgr/babel-preset': 8.1.0(@babel/core@7.26.0) + '@svgr/core': 8.1.0(typescript@5.7.2) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.7.2))(typescript@5.7.2)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.7.2) + cosmiconfig: 8.3.6(typescript@5.7.2) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + + '@svgr/webpack@8.1.0(typescript@5.7.2)': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-constant-elements': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/preset-react': 7.25.9(@babel/core@7.26.0) + '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) + '@svgr/core': 8.1.0(typescript@5.7.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.7.2)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.7.2))(typescript@5.7.2) + transitivePeerDependencies: + - supports-color + - typescript + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + + '@trysound/sax@0.2.0': {} + + '@types/acorn@4.0.6': + dependencies: + '@types/estree': 1.0.6 + + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 22.10.0 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 22.10.0 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 5.0.2 + '@types/node': 22.10.0 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 22.10.0 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.6 + + '@types/estree@1.0.6': {} + + '@types/express-serve-static-core@4.19.6': + dependencies: + '@types/node': 22.10.0 + '@types/qs': 6.9.17 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express-serve-static-core@5.0.2': + dependencies: + '@types/node': 22.10.0 + '@types/qs': 6.9.17 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@4.17.21': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.9.17 + '@types/serve-static': 1.15.7 + + '@types/gtag.js@0.0.12': {} + + '@types/hast@2.3.10': + dependencies: + '@types/unist': 2.0.11 + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/history@4.7.11': {} + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-cache-semantics@4.0.4': {} + + '@types/http-errors@2.0.4': {} + + '@types/http-proxy@1.17.15': + dependencies: + '@types/node': 22.10.0 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.13': {} + + '@types/mime@1.3.5': {} + + '@types/ms@0.7.34': {} + + '@types/node-forge@1.3.11': + dependencies: + '@types/node': 22.10.0 + + '@types/node@17.0.45': {} + + '@types/node@22.10.0': + dependencies: + undici-types: 6.20.0 + + '@types/parse-json@4.0.2': {} + + '@types/parse5@5.0.3': {} + + '@types/prismjs@1.26.5': {} + + '@types/prop-types@15.7.13': {} + + '@types/qs@6.9.17': {} + + '@types/range-parser@1.2.7': {} + + '@types/react-router-config@5.0.11': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.12 + '@types/react-router': 5.1.20 + + '@types/react-router-dom@5.3.3': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.12 + '@types/react-router': 5.1.20 + + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.12 + + '@types/react@18.3.12': + dependencies: + '@types/prop-types': 15.7.13 + csstype: 3.1.3 + + '@types/retry@0.12.0': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 17.0.45 + + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 22.10.0 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.21 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 22.10.0 + '@types/send': 0.17.4 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 22.10.0 + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@types/ws@8.5.13': + dependencies: + '@types/node': 22.10.0 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@ungap/structured-clone@1.2.0': {} + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + abbrev@1.1.1: {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-jsx@5.3.2(acorn@8.14.0): + dependencies: + acorn: 8.14.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.14.0 + + acorn@8.14.0: {} + + address@1.2.2: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + algoliasearch-helper@3.22.5(algoliasearch@4.24.0): + dependencies: + '@algolia/events': 4.0.1 + algoliasearch: 4.24.0 + + algoliasearch@4.24.0: + dependencies: + '@algolia/cache-browser-local-storage': 4.24.0 + '@algolia/cache-common': 4.24.0 + '@algolia/cache-in-memory': 4.24.0 + '@algolia/client-account': 4.24.0 + '@algolia/client-analytics': 4.24.0 + '@algolia/client-common': 4.24.0 + '@algolia/client-personalization': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/logger-console': 4.24.0 + '@algolia/recommend': 4.24.0 + '@algolia/requester-browser-xhr': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/requester-node-http': 4.24.0 + '@algolia/transporter': 4.24.0 + + algoliasearch@5.15.0: + dependencies: + '@algolia/client-abtesting': 5.15.0 + '@algolia/client-analytics': 5.15.0 + '@algolia/client-common': 5.15.0 + '@algolia/client-insights': 5.15.0 + '@algolia/client-personalization': 5.15.0 + '@algolia/client-query-suggestions': 5.15.0 + '@algolia/client-search': 5.15.0 + '@algolia/ingestion': 1.15.0 + '@algolia/monitoring': 1.15.0 + '@algolia/recommend': 5.15.0 + '@algolia/requester-browser-xhr': 5.15.0 + '@algolia/requester-fetch': 5.15.0 + '@algolia/requester-node-http': 5.15.0 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-html-community@0.0.8: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + aproba@2.0.0: {} + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-union@2.1.0: {} + + astring@1.9.0: {} + + asynckit@0.4.0: {} + + at-least-node@1.0.0: {} + + autocomplete.js@0.37.1: + dependencies: + immediate: 3.3.0 + + autoprefixer@10.4.20(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + caniuse-lite: 1.0.30001684 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + axios@1.7.9: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.96.1): + dependencies: + '@babel/core': 7.26.0 + find-cache-dir: 4.0.0 + schema-utils: 4.2.0 + webpack: 5.96.1 + + babel-plugin-dynamic-import-node@2.3.3: + dependencies: + object.assign: 4.1.5 + + babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): + dependencies: + '@babel/compat-data': 7.26.2 + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.39.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + bail@1.0.5: {} + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + batch@0.6.1: {} + + bcp-47-match@1.0.3: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.3.0: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + boxen@6.2.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.24.2: + dependencies: + caniuse-lite: 1.0.30001684 + electron-to-chromium: 1.5.65 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) + + buffer-from@1.1.2: {} + + bytes@3.0.0: {} + + bytes@3.1.2: {} + + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.1 + responselike: 3.0.0 + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + callsites@3.1.0: {} + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + camelcase@6.3.0: {} + + camelcase@7.0.1: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.24.2 + caniuse-lite: 1.0.30001684 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001684: {} + + ccount@2.0.1: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + char-regex@1.0.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + + cheerio@1.0.0-rc.12: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.2.1 + parse5-htmlparser2-tree-adapter: 7.1.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clean-stack@2.2.0: {} + + cli-boxes@3.0.0: {} + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clsx@1.2.1: {} + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + color-support@1.1.3: {} + + colord@2.9.3: {} + + colorette@2.0.20: {} + + combine-promises@1.2.0: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comma-separated-tokens@1.0.8: {} + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + commander@5.1.0: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + common-path-prefix@3.0.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.53.0 + + compression@1.7.5: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.0.2 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + configstore@6.0.0: + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + + connect-history-api-fallback@2.0.0: {} + + consola@3.2.3: {} + + console-control-strings@1.1.0: {} + + content-disposition@0.5.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.6: {} + + cookie@0.7.1: {} + + copy-text-to-clipboard@3.2.0: {} + + copy-webpack-plugin@11.0.0(webpack@5.96.1): + dependencies: + fast-glob: 3.3.2 + glob-parent: 6.0.2 + globby: 13.2.2 + normalize-path: 3.0.0 + schema-utils: 4.2.0 + serialize-javascript: 6.0.2 + webpack: 5.96.1 + + core-js-compat@3.39.0: + dependencies: + browserslist: 4.24.2 + + core-js-pure@3.39.0: {} + + core-js@3.39.0: {} + + core-util-is@1.0.3: {} + + cosmiconfig@6.0.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + + cosmiconfig@8.3.6(typescript@5.7.2): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.7.2 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + + css-blank-pseudo@7.0.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + css-declaration-sorter@7.2.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + css-has-pseudo@7.0.1(postcss@8.4.49): + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.0.0) + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + postcss-value-parser: 4.2.0 + + css-loader@6.11.0(webpack@5.96.1): + dependencies: + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.49) + postcss-modules-local-by-default: 4.1.0(postcss@8.4.49) + postcss-modules-scope: 3.2.1(postcss@8.4.49) + postcss-modules-values: 4.0.0(postcss@8.4.49) + postcss-value-parser: 4.2.0 + semver: 7.6.3 + optionalDependencies: + webpack: 5.96.1 + + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.96.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + cssnano: 6.1.2(postcss@8.4.49) + jest-worker: 29.7.0 + postcss: 8.4.49 + schema-utils: 4.2.0 + serialize-javascript: 6.0.2 + webpack: 5.96.1 + optionalDependencies: + clean-css: 5.3.3 + + css-prefers-color-scheme@10.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + css-selector-parser@1.4.1: {} + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + + css-what@6.1.0: {} + + cssdb@8.2.1: {} + + cssesc@3.0.0: {} + + cssnano-preset-advanced@6.1.2(postcss@8.4.49): + dependencies: + autoprefixer: 10.4.20(postcss@8.4.49) + browserslist: 4.24.2 + cssnano-preset-default: 6.1.2(postcss@8.4.49) + postcss: 8.4.49 + postcss-discard-unused: 6.0.5(postcss@8.4.49) + postcss-merge-idents: 6.0.3(postcss@8.4.49) + postcss-reduce-idents: 6.0.3(postcss@8.4.49) + postcss-zindex: 6.0.2(postcss@8.4.49) + + cssnano-preset-default@6.1.2(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + css-declaration-sorter: 7.2.0(postcss@8.4.49) + cssnano-utils: 4.0.2(postcss@8.4.49) + postcss: 8.4.49 + postcss-calc: 9.0.1(postcss@8.4.49) + postcss-colormin: 6.1.0(postcss@8.4.49) + postcss-convert-values: 6.1.0(postcss@8.4.49) + postcss-discard-comments: 6.0.2(postcss@8.4.49) + postcss-discard-duplicates: 6.0.3(postcss@8.4.49) + postcss-discard-empty: 6.0.3(postcss@8.4.49) + postcss-discard-overridden: 6.0.2(postcss@8.4.49) + postcss-merge-longhand: 6.0.5(postcss@8.4.49) + postcss-merge-rules: 6.1.1(postcss@8.4.49) + postcss-minify-font-values: 6.1.0(postcss@8.4.49) + postcss-minify-gradients: 6.0.3(postcss@8.4.49) + postcss-minify-params: 6.1.0(postcss@8.4.49) + postcss-minify-selectors: 6.0.4(postcss@8.4.49) + postcss-normalize-charset: 6.0.2(postcss@8.4.49) + postcss-normalize-display-values: 6.0.2(postcss@8.4.49) + postcss-normalize-positions: 6.0.2(postcss@8.4.49) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.49) + postcss-normalize-string: 6.0.2(postcss@8.4.49) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.49) + postcss-normalize-unicode: 6.1.0(postcss@8.4.49) + postcss-normalize-url: 6.0.2(postcss@8.4.49) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.49) + postcss-ordered-values: 6.0.2(postcss@8.4.49) + postcss-reduce-initial: 6.1.0(postcss@8.4.49) + postcss-reduce-transforms: 6.0.2(postcss@8.4.49) + postcss-svgo: 6.0.3(postcss@8.4.49) + postcss-unique-selectors: 6.0.4(postcss@8.4.49) + + cssnano-utils@4.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + cssnano@6.1.2(postcss@8.4.49): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.4.49) + lilconfig: 3.1.2 + postcss: 8.4.49 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + csstype@3.1.3: {} + + debounce@1.2.1: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + deepmerge@4.3.1: {} + + default-gateway@6.0.3: + dependencies: + execa: 5.1.1 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-lazy-prop@2.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + del@6.1.1: + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + + delayed-stream@1.0.0: {} + + depd@1.1.2: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destroy@1.2.0: {} + + detect-node@2.1.0: {} + + detect-port-alt@1.1.6: + dependencies: + address: 1.2.2 + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + + detect-port@1.6.1: + dependencies: + address: 1.2.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + direction@1.0.4: {} + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + docusaurus-lunr-search@3.5.0(@docusaurus/core@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + autocomplete.js: 0.37.1 + clsx: 1.2.1 + gauge: 3.0.2 + hast-util-select: 4.0.2 + hast-util-to-text: 2.0.1 + hogan.js: 3.0.2 + lunr: 2.3.9 + lunr-languages: 1.14.0 + mark.js: 8.11.1 + minimatch: 3.1.2 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-parse: 7.0.1 + to-vfile: 6.1.0 + unified: 9.2.2 + unist-util-is: 4.1.0 + + docusaurus-plugin-remote-content@4.0.0(@docusaurus/core@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)): + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + axios: 1.7.9 + picocolors: 1.1.1 + pretty-ms: 7.0.1 + rimraf: 5.0.10 + transitivePeerDependencies: + - debug + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.65: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojilib@2.4.0: {} + + emojis-list@3.0.0: {} + + emoticon@4.1.0: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + enhanced-resolve@5.17.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + entities@2.2.0: {} + + entities@4.5.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-module-lexer@1.5.4: {} + + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.14.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.2 + + escalade@3.2.0: {} + + escape-goat@4.0.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esprima@4.0.1: {} + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.6 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.6 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.4 + + estree-util-value-to-estree@3.2.1: + dependencies: + '@types/estree': 1.0.6 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.6 + + esutils@2.0.3: {} + + eta@2.2.0: {} + + etag@1.8.1: {} + + eval@0.1.8: + dependencies: + '@types/node': 22.10.0 + require-like: 0.1.2 + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + express@4.21.1: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.10 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-uri@3.0.3: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fault@2.0.1: + dependencies: + format: 0.2.2 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + feed@4.2.2: + dependencies: + xml-js: 1.6.11 + + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + + file-loader@6.2.0(webpack@5.96.1): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.96.1 + + filesize@8.0.7: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@4.0.0: + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + + flat@5.0.2: {} + + follow-redirects@1.15.9: {} + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + fork-ts-checker-webpack-plugin@6.5.3(typescript@5.7.2)(webpack@5.96.1): + dependencies: + '@babel/code-frame': 7.26.2 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.6.3 + tapable: 1.1.3 + typescript: 5.7.2 + webpack: 5.96.1 + + form-data-encoder@2.1.4: {} + + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + format@0.2.2: {} + + forwarded@0.2.0: {} + + fraction.js@4.3.7: {} + + fresh@0.5.2: {} + + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-monkey@1.0.6: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gauge@3.0.2: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-own-enumerable-property-symbols@3.0.2: {} + + get-stream@6.0.1: {} + + github-slugger@1.5.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global-dirs@3.0.1: + dependencies: + ini: 2.0.0 + + global-modules@2.0.0: + dependencies: + global-prefix: 3.0.0 + + global-prefix@3.0.0: + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + + globals@11.12.0: {} + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.2.2: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 4.0.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + handle-thing@2.0.1: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-unicode@2.0.1: {} + + has-yarn@3.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-from-parse5@6.0.1: + dependencies: + '@types/parse5': 5.0.3 + hastscript: 6.0.0 + property-information: 5.6.0 + vfile: 4.2.1 + vfile-location: 3.2.0 + web-namespaces: 1.1.4 + + hast-util-from-parse5@8.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.0 + property-information: 6.5.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-has-property@1.0.4: {} + + hast-util-is-element@1.1.0: {} + + hast-util-parse-selector@2.2.5: {} + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.2 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.2.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-select@4.0.2: + dependencies: + bcp-47-match: 1.0.3 + comma-separated-tokens: 1.0.8 + css-selector-parser: 1.4.1 + direction: 1.0.4 + hast-util-has-property: 1.0.4 + hast-util-is-element: 1.1.0 + hast-util-to-string: 1.0.4 + hast-util-whitespace: 1.0.4 + not: 0.1.0 + nth-check: 2.1.1 + property-information: 5.6.0 + space-separated-tokens: 1.1.5 + unist-util-visit: 2.0.3 + zwitch: 1.0.5 + + hast-util-to-estree@3.1.0: + dependencies: + '@types/estree': 1.0.6 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.2: + dependencies: + '@types/estree': 1.0.6 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 1.0.8 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-string@1.0.4: {} + + hast-util-to-text@2.0.1: + dependencies: + hast-util-is-element: 1.1.0 + repeat-string: 1.6.1 + unist-util-find-after: 3.0.0 + + hast-util-whitespace@1.0.4: {} + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@6.0.0: + dependencies: + '@types/hast': 2.3.10 + comma-separated-tokens: 1.0.8 + hast-util-parse-selector: 2.2.5 + property-information: 5.6.0 + space-separated-tokens: 1.1.5 + + hastscript@9.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + + he@1.2.0: {} + + history@4.10.1: + dependencies: + '@babel/runtime': 7.26.0 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + + hogan.js@3.0.2: + dependencies: + mkdirp: 0.3.0 + nopt: 1.0.10 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-entities@2.5.2: {} + + html-escaper@2.0.2: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.36.0 + + html-minifier-terser@7.2.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.36.0 + + html-tags@3.3.1: {} + + html-void-elements@3.0.0: {} + + html-webpack-plugin@5.6.3(webpack@5.96.1): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.1 + optionalDependencies: + webpack: 5.96.1 + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + + http-cache-semantics@4.1.1: {} + + http-deceiver@1.2.7: {} + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-parser-js@0.5.8: {} + + http-proxy-middleware@2.0.7(@types/express@4.17.21): + dependencies: + '@types/http-proxy': 1.17.15 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.8 + optionalDependencies: + '@types/express': 4.17.21 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1: + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.9 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + human-signals@2.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + ignore@5.3.2: {} + + image-size@1.1.1: + dependencies: + queue: 6.0.2 + + immediate@3.3.0: {} + + immer@9.0.21: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-lazy@4.0.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + infima@0.2.0-alpha.45: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + ini@2.0.0: {} + + inline-style-parser@0.1.1: {} + + inline-style-parser@0.2.4: {} + + interpret@1.4.0: {} + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.2.0: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-buffer@2.0.5: {} + + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-decimal@2.0.1: {} + + is-docker@2.2.1: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-installed-globally@0.4.0: + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + + is-npm@6.0.0: {} + + is-number@7.0.0: {} + + is-obj@1.0.1: {} + + is-obj@2.0.0: {} + + is-path-cwd@2.2.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@2.1.0: {} + + is-plain-obj@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-regexp@1.0.0: {} + + is-root@2.1.0: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-yarn-global@0.4.1: {} + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.10.0 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-worker@27.5.1: + dependencies: + '@types/node': 22.10.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + '@types/node': 22.10.0 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.6: {} + + joi@17.13.3: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.0.2: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + latest-version@7.0.0: + dependencies: + package-json: 8.1.1 + + launch-editor@2.9.1: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.1 + + leven@3.1.0: {} + + lilconfig@3.1.2: {} + + lines-and-columns@1.2.4: {} + + load-script@1.0.0: {} + + loader-runner@4.3.0: {} + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + loader-utils@3.3.1: {} + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.debounce@4.0.8: {} + + lodash.memoize@4.1.2: {} + + lodash.uniq@4.5.0: {} + + lodash@4.17.21: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lowercase-keys@3.0.0: {} + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lunr-languages@1.14.0: {} + + lunr@2.3.9: {} + + mark.js@8.11.1: {} + + markdown-extensions@2.0.0: {} + + markdown-table@2.0.0: + dependencies: + repeat-string: 1.6.1 + + markdown-table@3.0.4: {} + + mdast-util-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.1.3: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.0.6 + + memoize-one@5.2.1: {} + + merge-descriptors@1.0.3: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromark-core-commonmark@2.0.2: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-directive@3.0.2: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + parse-entities: 4.0.1 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-table@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.1 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-mdx-expression@3.0.0: + dependencies: + '@types/estree': 1.0.6 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-mdx-jsx@3.0.1: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.6 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.1 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.6 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.2 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.1 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-factory-mdx-expression@2.0.2: + dependencies: + '@types/estree': 1.0.6 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.1 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-character@1.2.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-events-to-acorn@2.0.2: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.6 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.1 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.0.3: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-symbol@1.1.0: {} + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@1.1.0: {} + + micromark-util-types@2.0.1: {} + + micromark@4.0.1: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.7 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.33.0: {} + + mime-db@1.52.0: {} + + mime-db@1.53.0: {} + + mime-types@2.1.18: + dependencies: + mime-db: 1.33.0 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + + mini-css-extract-plugin@2.9.2(webpack@5.96.1): + dependencies: + schema-utils: 4.2.0 + tapable: 2.2.1 + webpack: 5.96.1 + + minimalistic-assert@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mkdirp@0.3.0: {} + + mrmime@2.0.0: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + nanoid@3.3.8: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-emoji@2.1.3: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + + node-forge@1.3.1: {} + + node-releases@2.0.18: {} + + nopt@1.0.10: + dependencies: + abbrev: 1.1.1 + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + normalize-url@8.0.1: {} + + not@0.1.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + null-loader@4.0.1(webpack@5.96.1): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.96.1 + + object-assign@4.1.1: {} + + object-inspect@1.13.3: {} + + object-keys@1.1.1: {} + + object.assign@4.1.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + obuf@1.1.2: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.0.2: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + opener@1.5.2: {} + + p-cancelable@3.0.0: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.1.1 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.1: {} + + package-json@8.1.1: + dependencies: + got: 12.6.1 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.6.3 + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.1: + dependencies: + '@types/unist': 2.0.11 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-ms@2.1.0: {} + + parse-numeric-range@1.3.0: {} + + parse5-htmlparser2-tree-adapter@7.1.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.2.1 + + parse5@6.0.1: {} + + parse5@7.2.1: + dependencies: + entities: 4.5.0 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-exists@5.0.0: {} + + path-is-absolute@1.0.1: {} + + path-is-inside@1.0.2: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-to-regexp@0.1.10: {} + + path-to-regexp@1.9.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@3.3.0: {} + + path-type@4.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pkg-dir@7.0.0: + dependencies: + find-up: 6.3.0 + + pkg-up@3.1.0: + dependencies: + find-up: 3.0.0 + + postcss-attribute-case-insensitive@7.0.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-calc@9.0.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + postcss-value-parser: 4.2.0 + + postcss-clamp@4.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-color-functional-notation@7.0.6(postcss@8.4.49): + dependencies: + '@csstools/css-color-parser': 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + postcss-color-hex-alpha@10.0.0(postcss@8.4.49): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-color-rebeccapurple@10.0.0(postcss@8.4.49): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.1.0(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.1.0(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-custom-media@11.0.5(postcss@8.4.49): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/media-query-list-parser': 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + postcss: 8.4.49 + + postcss-custom-properties@14.0.4(postcss@8.4.49): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-custom-selectors@8.0.4(postcss@8.4.49): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-dir-pseudo-class@9.0.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-discard-comments@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-discard-duplicates@6.0.3(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-discard-empty@6.0.3(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-discard-overridden@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-discard-unused@6.0.5(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + + postcss-double-position-gradients@6.0.0(postcss@8.4.49): + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-focus-visible@10.0.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-focus-within@9.0.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-font-variant@5.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-gap-properties@6.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-image-set-function@7.0.0(postcss@8.4.49): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-lab-function@7.0.6(postcss@8.4.49): + dependencies: + '@csstools/css-color-parser': 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/utilities': 2.0.0(postcss@8.4.49) + postcss: 8.4.49 + + postcss-loader@7.3.4(postcss@8.4.49)(typescript@5.7.2)(webpack@5.96.1): + dependencies: + cosmiconfig: 8.3.6(typescript@5.7.2) + jiti: 1.21.6 + postcss: 8.4.49 + semver: 7.6.3 + webpack: 5.96.1 + transitivePeerDependencies: + - typescript + + postcss-logical@8.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-merge-idents@6.0.3(postcss@8.4.49): + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-merge-longhand@6.0.5(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.1(postcss@8.4.49) + + postcss-merge-rules@6.1.1(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.2(postcss@8.4.49) + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + + postcss-minify-font-values@6.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.3(postcss@8.4.49): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.1.0(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + cssnano-utils: 4.0.2(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@6.0.4(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + + postcss-modules-extract-imports@3.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-modules-local-by-default@4.1.0(postcss@8.4.49): + dependencies: + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-modules-values@4.0.0(postcss@8.4.49): + dependencies: + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 + + postcss-nesting@13.0.1(postcss@8.4.49): + dependencies: + '@csstools/selector-resolve-nested': 3.0.0(postcss-selector-parser@7.0.0) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.0.0) + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-normalize-charset@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-normalize-display-values@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.1.0(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-opacity-percentage@3.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-ordered-values@6.0.2(postcss@8.4.49): + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.49) + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-overflow-shorthand@6.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-page-break@3.0.4(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-place@10.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-preset-env@10.1.1(postcss@8.4.49): + dependencies: + '@csstools/postcss-cascade-layers': 5.0.1(postcss@8.4.49) + '@csstools/postcss-color-function': 4.0.6(postcss@8.4.49) + '@csstools/postcss-color-mix-function': 3.0.6(postcss@8.4.49) + '@csstools/postcss-content-alt-text': 2.0.4(postcss@8.4.49) + '@csstools/postcss-exponential-functions': 2.0.5(postcss@8.4.49) + '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.4.49) + '@csstools/postcss-gamut-mapping': 2.0.6(postcss@8.4.49) + '@csstools/postcss-gradients-interpolation-method': 5.0.6(postcss@8.4.49) + '@csstools/postcss-hwb-function': 4.0.6(postcss@8.4.49) + '@csstools/postcss-ic-unit': 4.0.0(postcss@8.4.49) + '@csstools/postcss-initial': 2.0.0(postcss@8.4.49) + '@csstools/postcss-is-pseudo-class': 5.0.1(postcss@8.4.49) + '@csstools/postcss-light-dark-function': 2.0.7(postcss@8.4.49) + '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.4.49) + '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.4.49) + '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.4.49) + '@csstools/postcss-logical-resize': 3.0.0(postcss@8.4.49) + '@csstools/postcss-logical-viewport-units': 3.0.3(postcss@8.4.49) + '@csstools/postcss-media-minmax': 2.0.5(postcss@8.4.49) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.4(postcss@8.4.49) + '@csstools/postcss-nested-calc': 4.0.0(postcss@8.4.49) + '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.4.49) + '@csstools/postcss-oklab-function': 4.0.6(postcss@8.4.49) + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.49) + '@csstools/postcss-random-function': 1.0.1(postcss@8.4.49) + '@csstools/postcss-relative-color-syntax': 3.0.6(postcss@8.4.49) + '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.4.49) + '@csstools/postcss-sign-functions': 1.1.0(postcss@8.4.49) + '@csstools/postcss-stepped-value-functions': 4.0.5(postcss@8.4.49) + '@csstools/postcss-text-decoration-shorthand': 4.0.1(postcss@8.4.49) + '@csstools/postcss-trigonometric-functions': 4.0.5(postcss@8.4.49) + '@csstools/postcss-unset-value': 4.0.0(postcss@8.4.49) + autoprefixer: 10.4.20(postcss@8.4.49) + browserslist: 4.24.2 + css-blank-pseudo: 7.0.1(postcss@8.4.49) + css-has-pseudo: 7.0.1(postcss@8.4.49) + css-prefers-color-scheme: 10.0.0(postcss@8.4.49) + cssdb: 8.2.1 + postcss: 8.4.49 + postcss-attribute-case-insensitive: 7.0.1(postcss@8.4.49) + postcss-clamp: 4.1.0(postcss@8.4.49) + postcss-color-functional-notation: 7.0.6(postcss@8.4.49) + postcss-color-hex-alpha: 10.0.0(postcss@8.4.49) + postcss-color-rebeccapurple: 10.0.0(postcss@8.4.49) + postcss-custom-media: 11.0.5(postcss@8.4.49) + postcss-custom-properties: 14.0.4(postcss@8.4.49) + postcss-custom-selectors: 8.0.4(postcss@8.4.49) + postcss-dir-pseudo-class: 9.0.1(postcss@8.4.49) + postcss-double-position-gradients: 6.0.0(postcss@8.4.49) + postcss-focus-visible: 10.0.1(postcss@8.4.49) + postcss-focus-within: 9.0.1(postcss@8.4.49) + postcss-font-variant: 5.0.0(postcss@8.4.49) + postcss-gap-properties: 6.0.0(postcss@8.4.49) + postcss-image-set-function: 7.0.0(postcss@8.4.49) + postcss-lab-function: 7.0.6(postcss@8.4.49) + postcss-logical: 8.0.0(postcss@8.4.49) + postcss-nesting: 13.0.1(postcss@8.4.49) + postcss-opacity-percentage: 3.0.0(postcss@8.4.49) + postcss-overflow-shorthand: 6.0.0(postcss@8.4.49) + postcss-page-break: 3.0.4(postcss@8.4.49) + postcss-place: 10.0.0(postcss@8.4.49) + postcss-pseudo-class-any-link: 10.0.1(postcss@8.4.49) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.49) + postcss-selector-not: 8.0.1(postcss@8.4.49) + + postcss-pseudo-class-any-link@10.0.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-reduce-idents@6.0.3(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@6.1.0(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + caniuse-api: 3.0.0 + postcss: 8.4.49 + + postcss-reduce-transforms@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + postcss-replace-overflow-wrap@4.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss-selector-not@8.0.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@7.0.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-sort-media-queries@5.2.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + sort-css-media-queries: 2.2.0 + + postcss-svgo@6.0.3(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + svgo: 3.3.2 + + postcss-unique-selectors@6.0.4(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + + postcss-value-parser@4.2.0: {} + + postcss-zindex@6.0.2(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + postcss@8.4.49: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + pretty-error@4.0.0: + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + + pretty-ms@7.0.1: + dependencies: + parse-ms: 2.1.0 + + pretty-time@1.1.0: {} + + prism-react-renderer@2.4.0(react@18.3.1): + dependencies: + '@types/prismjs': 1.26.5 + clsx: 2.1.1 + react: 18.3.1 + + prismjs@1.29.0: {} + + process-nextick-args@2.0.1: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@5.6.0: + dependencies: + xtend: 4.0.2 + + property-information@6.5.0: {} + + proto-list@1.2.4: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + proxy-from-env@1.1.0: {} + + punycode@2.3.1: {} + + pupa@3.1.0: + dependencies: + escape-goat: 4.0.0 + + qs@6.13.0: + dependencies: + side-channel: 1.0.6 + + queue-microtask@1.2.3: {} + + queue@6.0.2: + dependencies: + inherits: 2.0.4 + + quick-lru@5.1.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.0: {} + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-dev-utils@12.0.1(typescript@5.7.2)(webpack@5.96.1): + dependencies: + '@babel/code-frame': 7.26.2 + address: 1.2.2 + browserslist: 4.24.2 + chalk: 4.1.2 + cross-spawn: 7.0.6 + detect-port-alt: 1.1.6 + escape-string-regexp: 4.0.0 + filesize: 8.0.7 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.7.2)(webpack@5.96.1) + global-modules: 2.0.0 + globby: 11.1.0 + gzip-size: 6.0.0 + immer: 9.0.21 + is-root: 2.1.0 + loader-utils: 3.3.1 + open: 8.4.2 + pkg-up: 3.1.0 + prompts: 2.4.2 + react-error-overlay: 6.0.11 + recursive-readdir: 2.2.3 + shell-quote: 1.8.1 + strip-ansi: 6.0.1 + text-table: 0.2.0 + webpack: 5.96.1 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-error-overlay@6.0.11: {} + + react-fast-compare@3.2.2: {} + + react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.26.0 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + react-helmet-async@2.0.5(react@18.3.1): + dependencies: + invariant: 2.2.4 + react: 18.3.1 + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + react-is@16.13.1: {} + + react-json-view-lite@1.5.0(react@18.3.1): + dependencies: + react: 18.3.1 + + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.96.1): + dependencies: + '@babel/runtime': 7.26.0 + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + webpack: 5.96.1 + + react-player@2.16.0(react@18.3.1): + dependencies: + deepmerge: 4.3.1 + load-script: 1.0.0 + memoize-one: 5.2.1 + prop-types: 15.8.1 + react: 18.3.1 + react-fast-compare: 3.2.2 + + react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.26.0 + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) + + react-router-dom@5.3.4(react@18.3.1): + dependencies: + '@babel/runtime': 7.26.0 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react-router@5.3.4(react@18.3.1): + dependencies: + '@babel/runtime': 7.26.0 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + path-to-regexp: 1.9.0 + prop-types: 15.8.1 + react: 18.3.1 + react-is: 16.13.1 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + reading-time@1.5.0: {} + + rechoir@0.6.2: + dependencies: + resolve: 1.22.8 + + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.6 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.0(acorn@8.14.0): + dependencies: + acorn-jsx: 5.3.2(acorn@8.14.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - acorn + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.6 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.6 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + + recursive-readdir@2.2.3: + dependencies: + minimatch: 3.1.2 + + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.26.0 + + regexpu-core@6.2.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + + registry-auth-token@5.0.2: + dependencies: + '@pnpm/npm-conf': 2.3.1 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + regjsgen@0.8.0: {} + + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + + rehype-parse@7.0.1: + dependencies: + hast-util-from-parse5: 6.0.1 + parse5: 6.0.1 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.1.0 + vfile: 6.0.3 + + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.6 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.0 + transitivePeerDependencies: + - supports-color + + relateurl@0.2.7: {} + + remark-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-emoji@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + emoticon: 4.1.0 + mdast-util-find-and-replace: 3.0.1 + node-emoji: 2.1.3 + unified: 11.0.5 + + remark-frontmatter@5.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.1.0: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.1 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.1: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + vfile: 6.0.3 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + + repeat-string@1.6.1: {} + + require-from-string@2.0.2: {} + + require-like@0.1.2: {} + + requires-port@1.0.0: {} + + resolve-alpn@1.2.1: {} + + resolve-from@4.0.0: {} + + resolve-pathname@3.0.0: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + + retry@0.13.1: {} + + reusify@1.0.4: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rimraf@5.0.10: + dependencies: + glob: 10.4.5 + + rtl-detect@1.1.2: {} + + rtlcss@4.3.0: + dependencies: + escalade: 3.2.0 + picocolors: 1.1.1 + postcss: 8.4.49 + strip-json-comments: 3.1.1 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sax@1.4.1: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + schema-utils@2.7.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@4.2.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + + search-insights@2.17.3: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + select-hose@2.0.0: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + + semver-diff@4.0.0: + dependencies: + semver: 7.6.3 + + semver@6.3.1: {} + + semver@7.6.3: {} + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-handler@6.1.6: + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 3.3.0 + range-parser: 1.2.0 + + serve-index@1.9.1: + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shallowequal@1.1.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.1: {} + + shelljs@0.8.5: + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.3 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.28 + mrmime: 2.0.0 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + sitemap@7.1.2: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.4.1 + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@4.0.0: {} + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + + sort-css-media-queries@2.2.0: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + space-separated-tokens@1.1.5: {} + + space-separated-tokens@2.0.2: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.3.7 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.3.7 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + sprintf-js@1.0.3: {} + + srcset@4.0.0: {} + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + std-env@3.8.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom-string@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + style-to-object@0.4.4: + dependencies: + inline-style-parser: 0.1.1 + + style-to-object@1.0.8: + dependencies: + inline-style-parser: 0.2.4 + + stylehacks@6.1.1(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-parser@2.0.4: {} + + svgo@3.3.2: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 + picocolors: 1.1.1 + + tapable@1.1.3: {} + + tapable@2.2.1: {} + + terser-webpack-plugin@5.3.10(webpack@5.96.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.36.0 + webpack: 5.96.1 + + terser@5.36.0: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.14.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + text-table@0.2.0: {} + + thunky@1.1.0: {} + + tiny-invariant@1.3.3: {} + + tiny-warning@1.0.3: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + to-vfile@6.1.0: + dependencies: + is-buffer: 2.0.5 + vfile: 4.2.1 + + toidentifier@1.0.1: {} + + totalist@3.0.1: {} + + trim-lines@3.0.1: {} + + trough@1.0.5: {} + + trough@2.2.0: {} + + tslib@2.8.1: {} + + type-fest@0.21.3: {} + + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typescript@5.7.2: {} + + undici-types@6.20.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-emoji-modifier-base@1.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.2.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unified@9.2.2: + dependencies: + '@types/unist': 2.0.11 + bail: 1.0.5 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 2.1.0 + trough: 1.0.5 + vfile: 4.2.1 + + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + + unist-util-find-after@3.0.0: + dependencies: + unist-util-is: 4.1.0 + + unist-util-is@4.1.0: {} + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@2.0.3: + dependencies: + '@types/unist': 2.0.11 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@3.1.1: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 4.1.0 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@2.0.3: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 4.1.0 + unist-util-visit-parents: 3.1.1 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.1.1(browserslist@4.24.2): + dependencies: + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 + + update-notifier@6.0.2: + dependencies: + boxen: 7.1.1 + chalk: 5.3.0 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + is-npm: 6.0.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.1.0 + semver: 7.6.3 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-loader@4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.96.1 + optionalDependencies: + file-loader: 6.2.0(webpack@5.96.1) + + util-deprecate@1.0.2: {} + + utila@0.4.0: {} + + utility-types@3.11.0: {} + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + value-equal@1.0.1: {} + + vary@1.1.2: {} + + vfile-location@3.2.0: {} + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@2.0.4: + dependencies: + '@types/unist': 2.0.11 + unist-util-stringify-position: 2.0.3 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@4.2.1: + dependencies: + '@types/unist': 2.0.11 + is-buffer: 2.0.5 + unist-util-stringify-position: 2.0.3 + vfile-message: 2.0.4 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + watchpack@2.4.2: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + web-namespaces@1.1.4: {} + + web-namespaces@2.0.1: {} + + webpack-bundle-analyzer@4.10.2: + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.14.0 + acorn-walk: 8.3.4 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.1.1 + sirv: 2.0.4 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + webpack-dev-middleware@5.3.4(webpack@5.96.1): + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.2.0 + webpack: 5.96.1 + + webpack-dev-server@4.15.2(webpack@5.96.1): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.7 + '@types/sockjs': 0.3.36 + '@types/ws': 8.5.13 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.7.5 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.21.1 + graceful-fs: 4.2.11 + html-entities: 2.5.2 + http-proxy-middleware: 2.0.7(@types/express@4.17.21) + ipaddr.js: 2.2.0 + launch-editor: 2.9.1 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.2.0 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 5.3.4(webpack@5.96.1) + ws: 8.18.0 + optionalDependencies: + webpack: 5.96.1 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-merge@6.0.1: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@3.2.3: {} + + webpack@5.96.1: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.14.0 + browserslist: 4.24.2 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(webpack@5.96.1) + watchpack: 2.4.2 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + webpackbar@6.0.1(webpack@5.96.1): + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + consola: 3.2.3 + figures: 3.2.0 + markdown-table: 2.0.0 + pretty-time: 1.1.0 + std-env: 3.8.0 + webpack: 5.96.1 + wrap-ansi: 7.0.0 + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wide-align@1.1.5: + dependencies: + string-width: 4.2.3 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + wildcard@2.0.1: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.10: {} + + ws@8.18.0: {} + + xdg-basedir@5.1.0: {} + + xml-js@1.6.11: + dependencies: + sax: 1.4.1 + + xtend@4.0.2: {} + + yallist@3.1.1: {} + + yaml@1.10.2: {} + + yocto-queue@0.1.0: {} + + yocto-queue@1.1.1: {} + + zwitch@1.0.5: {} + + zwitch@2.0.4: {} diff --git a/sidebars.js b/sidebars.js new file mode 100644 index 0000000..1a83498 --- /dev/null +++ b/sidebars.js @@ -0,0 +1,52 @@ +// @ts-check + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + + @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} + */ +const sidebars = { + usage: [ + { + type: 'autogenerated', + dirName: 'usage', + }, + ], + installation: [ + { + type: 'autogenerated', + dirName: 'installation', + }, + ], + reference: [ + { + type: 'autogenerated', + dirName: 'reference', + }, + ], + // By default, Docusaurus generates a sidebar from the docs folder structure + // tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], + // But you can create a sidebar manually + /* + tutorialSidebar: [ + 'intro', + 'hello', + { + type: 'category', + label: 'Tutorial', + items: ['tutorial-basics/create-a-document'], + }, + ], + */ +}; + +export default sidebars; diff --git a/src/components/HomepageFeatures/index.js b/src/components/HomepageFeatures/index.js new file mode 100644 index 0000000..cf26f43 --- /dev/null +++ b/src/components/HomepageFeatures/index.js @@ -0,0 +1,61 @@ +import clsx from 'clsx'; +import Heading from '@theme/Heading'; +import styles from './styles.module.css'; + +const FeatureList = [ + { + title: 'Target Engineering Blog', + Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, + description: ( + <> + Hear more about other products and Target Engineering on our blog. + + ), + }, + { + title: 'Contributors welcome', + Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, + description: ( + <> + Learn more about getting started in our community. + + ), + }, + { + title: 'Join us on Slack', + Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, + description: ( + <> + Come hang out with us in the Gopher Slack workspace. + + ), + }, +]; + +function Feature({Svg, title, description}) { + return ( +
    +
    + +
    +
    + {title} +

    {description}

    +
    +
    + ); +} + +export default function HomepageFeatures() { + return ( +
    +
    +
    + {FeatureList.map((props, idx) => ( + + ))} +
    +
    +
    + ); +} diff --git a/src/components/HomepageFeatures/styles.module.css b/src/components/HomepageFeatures/styles.module.css new file mode 100644 index 0000000..b248eb2 --- /dev/null +++ b/src/components/HomepageFeatures/styles.module.css @@ -0,0 +1,11 @@ +.features { + display: flex; + align-items: center; + padding: 2rem 0; + width: 100%; +} + +.featureSvg { + height: 200px; + width: 200px; +} diff --git a/src/css/custom.css b/src/css/custom.css new file mode 100644 index 0000000..97f1d7b --- /dev/null +++ b/src/css/custom.css @@ -0,0 +1,30 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: #2e8555; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'] { + --ifm-color-primary: #b957ce; + --ifm-color-primary-dark: #b857cecd; + --ifm-color-primary-darker: #b857cea1; + --ifm-color-primary-darkest: #b857ce5d; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} diff --git a/src/pages/index.js b/src/pages/index.js new file mode 100644 index 0000000..92a3b44 --- /dev/null +++ b/src/pages/index.js @@ -0,0 +1,43 @@ +import clsx from 'clsx'; +import Link from '@docusaurus/Link'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import Layout from '@theme/Layout'; +import HomepageFeatures from '@site/src/components/HomepageFeatures'; + +import Heading from '@theme/Heading'; +import styles from './index.module.css'; + +function HomepageHeader() { + const {siteConfig} = useDocusaurusContext(); + return ( +
    +
    + + {siteConfig.title} + +

    {siteConfig.tagline}

    +
    + + Get started with Vela - 10 min ⏱️ + +
    +
    +
    + ); +} + +export default function Home() { + const {siteConfig} = useDocusaurusContext(); + return ( + + +
    + +
    +
    + ); +} diff --git a/src/pages/index.module.css b/src/pages/index.module.css new file mode 100644 index 0000000..9f71a5d --- /dev/null +++ b/src/pages/index.module.css @@ -0,0 +1,23 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} diff --git a/src/pages/markdown-page.md b/src/pages/markdown-page.md new file mode 100644 index 0000000..9756c5b --- /dev/null +++ b/src/pages/markdown-page.md @@ -0,0 +1,7 @@ +--- +title: Markdown page example +--- + +# Markdown page example + +You don't need React to write simple standalone pages. diff --git a/static/.nojekyll b/static/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/static/img/build_workflow.png b/static/img/build_workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..50664ca7ed8a80ae2e80e3dffe224526bee4a323 GIT binary patch literal 40652 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 literal 0 HcmV?d00001 diff --git a/static/img/docusaurus-social-card.jpg b/static/img/docusaurus-social-card.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ffcb448210e1a456cb3588ae8b396a597501f187 GIT binary patch literal 55746 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 fgzs%Vr*-jYG(YMS<ttdtee# literal 0 HcmV?d00001 diff --git a/static/img/docusaurus.png b/static/img/docusaurus.png new file mode 100644 index 0000000000000000000000000000000000000000..f458149e3c8f53335f28fbc162ae67f55575c881 GIT binary patch literal 5142 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 F{0H{b<4^zq literal 0 HcmV?d00001 diff --git a/static/img/favicon.ico b/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e44379e6e1022febf337ddaa3e97f9ee939b598a GIT binary patch literal 167730 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 GN&g2DpXx;b literal 0 HcmV?d00001 diff --git a/static/img/logo.svg b/static/img/logo.svg new file mode 100644 index 0000000..9db6d0d --- /dev/null +++ b/static/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/undraw_docusaurus_mountain.svg b/static/img/undraw_docusaurus_mountain.svg new file mode 100644 index 0000000..af961c4 --- /dev/null +++ b/static/img/undraw_docusaurus_mountain.svg @@ -0,0 +1,171 @@ + + Easy to Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/undraw_docusaurus_react.svg b/static/img/undraw_docusaurus_react.svg new file mode 100644 index 0000000..94b5cf0 --- /dev/null +++ b/static/img/undraw_docusaurus_react.svg @@ -0,0 +1,170 @@ + + Powered by React + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/undraw_docusaurus_tree.svg b/static/img/undraw_docusaurus_tree.svg new file mode 100644 index 0000000..d9161d3 --- /dev/null +++ b/static/img/undraw_docusaurus_tree.svg @@ -0,0 +1,40 @@ + + Focus on What Matters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/vela.png b/static/img/vela.png new file mode 100644 index 0000000000000000000000000000000000000000..d3c8e8e57ec775bc15ed657e24bd85f117582a58 GIT binary patch literal 39881 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 literal 0 HcmV?d00001 diff --git a/versioned_docs/version-1.0/installation/_category_.json b/versioned_docs/version-1.0/installation/_category_.json new file mode 100644 index 0000000..8f26407 --- /dev/null +++ b/versioned_docs/version-1.0/installation/_category_.json @@ -0,0 +1,12 @@ +{ + "label": "Installation", + "position": 1, + "link": { + "type": "generated-index", + "description": "A Vela cluster is deployed as a self-hosted solution and consists of two core services, the server and the worker. The relationship between these services is considered many-to-many meaning many workers can connect to many servers. + +The server is considered the brains of the application while the worker is considered the brawn of the application. + +An optional third service, the UI, can also be deployed but is not required for the Vela platform to operate as intended. This service provides a means for utilizing and interacting with the Vela platform." + } +} diff --git a/versioned_docs/version-1.0/installation/install-vela.md b/versioned_docs/version-1.0/installation/install-vela.md new file mode 100644 index 0000000..f574215 --- /dev/null +++ b/versioned_docs/version-1.0/installation/install-vela.md @@ -0,0 +1,106 @@ +--- +sidebar_position: 1 +--- + +# Install Vela + +## macOS + +### Homebrew + +```js +# add Vela tap to your brew configuration +brew tap go-vela/vela + +# update your taps +brew update + +# install Vela CLI +brew install vela +``` + +### cURL + +```js +# download the binary +curl -L https://github.com/go-vela/cli/releases/latest/download/vela_darwin_amd64.tar.gz | tar zx + +# copy binary to $PATH +sudo cp vela /usr/local/bin/ +``` + +## Linux + +### cURL + +```js +# download the binary +curl -L https://github.com/go-vela/cli/releases/latest/download/vela_darwin_amd64.tar.gz | tar zx + +# copy binary to $PATH +sudo cp vela /usr/local/bin/ +``` + +## Windows + +### Command Prompt + +```js +# download the binary +curl -L https://github.com/go-vela/cli/releases/latest/download/vela_windows_amd64.tar.gz --output vela_windows_amd64.tar.gz + +# unzip the tarball +tar xzvf vela_windows_amd64.tar.gz + +# copy binary to $PATH +copy vela C:\Windows\System32/vela.exe +``` + +### Windows PowerShell + +```js +# download the binary +curl https://github.com/go-vela/cli/releases/latest/download/vela_windows_amd64.tar.gz -OutFile vela_windows_amd64.tar.gz + +# unzip the tarball +tar xzvf vela_windows_amd64.tar.gz + +# copy binary to $PATH +cp vela C:\Windows\System32/vela.exe +``` + +### PowerShell 6 (PowerShell Core) + +```js +# download the binary +curl https://github.com/go-vela/cli/releases/latest/download/vela_windows_amd64.tar.gz -OutFile vela_windows_amd64.tar.gz + +# unzip the tarball +tar xzvf vela_windows_amd64.tar.gz + +# copy binary to $PATH +cp vela C:\Windows\System32/vela.exe +``` + +### Source + +:::warning + +This method is intended for developers and advanced users only. + +Golang is required before continuing. To install and setup Golang, please review [installation documentation](https://golang.org/doc/install) +::: + +```js +# download the repo +go get -d github.com/go-vela/cli + +# change to the cli directory +cd ${GOPATH}/src/github.com/go-vela/cli + +# build a release binary with Go +go build -o releases/vela + +# copy binary to $PATH +sudo cp releases/vela /usr/local/bin/ +``` \ No newline at end of file diff --git a/versioned_docs/version-1.0/installation/server/docker.md b/versioned_docs/version-1.0/installation/server/docker.md new file mode 100644 index 0000000..542d426 --- /dev/null +++ b/versioned_docs/version-1.0/installation/server/docker.md @@ -0,0 +1,157 @@ +--- +sidebar_position: 2 +--- + +# Docker + +## Prerequisites + +This section provides all required dependencies to install and start the server with Docker. + +### Dependency 1: Docker + +[Docker](https://docker.com/) will be used for downloading the server and managing the lifecycle of the application. + +You can refer to [Docker's official documentation](https://docs.docker.com/get-docker/) on installing and configuring the service. + +### Dependency 2: Redis + +[Redis](https://redis.io/) will be used for storing workloads, created by the server, that will run on a [worker](/docs/installation/worker/). + +You can refer to [Redis's official documentation](https://redis.io/topics/quickstart/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the server with Docker. + +:::info +This example only shows a subset of all possible configuration options. +::: + +### Step 1: Download the Image + +Download the [Docker image](https://docs.docker.com/get-started/overview/#images) for the Vela server from [DockerHub](https://hub.docker.com/). + +You can use the [`docker pull` command](https://docs.docker.com/engine/reference/commandline/pull/) to download the image: + +```shell +$ docker pull target/vela-server:latest +``` + +:::info +The `latest` tag will ensure you install the most-recent version of the Vela server. + +To see the full list of available versions, please refer to [the official registry](https://hub.docker.com/r/target/vela-server). +::: + +### Step 2: Create an Encryption Key + +Create an [Advanced Encryption Standard (AES)](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) key used for encrypting sensitive data at rest in the database. + +You can use the [`openssl` command](https://www.openssl.org/) to generate the AES key: + +```shell +$ openssl aes-128-cbc -k secret -P -md sha1 +``` + +:::info +This command will output multiple key/value pairs for the AES key. + +The specific value we need from the output is the line with `key` in it (i.e. `key=`). +::: + +### Step 3: Create a Shared Secret + +:::info +Skip this step if you are utilizing the [worker registration auth flow](/docs/installation/worker/docker/#worker-registration-and-auth-refresh) +::: + +Create a shared secret used for authenticating communication between workers and the server. + +You can use the [`openssl` command](https://www.openssl.org/) to generate the shared secret: + +```shell +$ openssl rand -hex 16 +``` + +### Step 4: Create the private key + +Create a private key used for minting and validating user, worker auth, and build JWT tokens. + +You can also use the [`openssl` command](https://www.openssl.org/) to generate the key. + +```shell +$ openssl rand -hex 16 +``` + +### Step 5: Create the signing key pair + +Create a key pair (ed25519) used for signing queue items. Items are signed via private key and opened via public key in the server and worker, respectively. The key pair must be base64 encoded prior to being supplied to the server. The server distributes the public key to registered workers, therefore both keys must be provided to the server. + +To make it easier, you can use this [Go Playground program](https://go.dev/play/p/-go_7SnJbnP) to generate an encoded key pair that is ready to use. For security we recommend running the program locally. + +:::info +The private key is used to sign items in the server. +The public key is used to open items in the worker. +Both keys are provided to the server. +::: + +### Step 6: Create an OAuth Application + +Vela requires OAuth application credentials from a source control management (SCM) provider. + +These credentials are used to authenticate and authorize actions preformed within the platform. + +Vela has support for many Source Control Management (SCM) providers to enable the preferences of you and your team. + +You can follow the [SCM reference](/docs/installation/server/reference/scm/) for instructions on creating the OAuth application. + +### Step 7: Start the Server + +Start the Vela server as a [Docker container](https://docs.docker.com/get-started/overview/#containers) that is configured via environment variables. + +You can use the [`docker run` command](https://docs.docker.com/engine/reference/commandline/run/) to start the server: +```shell +$ docker run \ + --detach=true \ + --env=VELA_ADDR=https://vela-server.example.com \ + --env=VELA_DATABASE_ENCRYPTION_KEY= \ + --env=VELA_QUEUE_DRIVER=redis \ + --env=VELA_QUEUE_ADDR=redis://@:/ \ + --env=VELA_QUEUE_PRIVATE_KEY= \ + --env=VELA_QUEUE_PUBLIC_KEY= \ + --env=VELA_PORT=443 \ + --env=VELA_SERVER_PRIVATE_KEY= \ + --env=VELA_SCM_CLIENT= \ + --env=VELA_SCM_SECRET= \ + --env=VELA_WEBUI_ADDR=https://vela.example.com \ + --name=server \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + target/vela-server:latest +``` + +:::info +If using the [server-worker trusted symmetric auth method](/docs/installation/worker/docker/#worker-server-trusted-symmetric-token), be sure to add the `VELA_SECRET` env variable: +```shell + --env=VELA_SECRET= +``` +For a full list of configuration options, please see the [server reference](/docs/installation/server/reference/). +::: + +### Step 8: Verify the Server Logs + +Ensure the server started up successfully and is running as expected by viewing the logs. + +You can use the [`docker logs` command](https://docs.docker.com/engine/reference/commandline/logs/) to inspect the logs: + +```shell +$ docker logs server +``` + +### Step 9: Install Workers + +After the server is up and running, you need to install workers to run workloads. + +Please refer to [the worker installation docs](/docs/installation/worker/) for more information. \ No newline at end of file diff --git a/versioned_docs/version-1.0/installation/server/server.md b/versioned_docs/version-1.0/installation/server/server.md new file mode 100644 index 0000000..f84b38e --- /dev/null +++ b/versioned_docs/version-1.0/installation/server/server.md @@ -0,0 +1,31 @@ +--- +sidebar_position: 1 +--- +# Server + +Known as the brains of the Vela application, this service is responsible for managing the state of application resources. + +This includes managing resources in the system (repositories, users etc.) and storing resource data in the database. + +Additionally, the server responds to event-driven requests (webhooks) which creates new builds to run on a [worker](/docs/installation/worker/worker.md). + +After a build is created, it is pushed to the queue which will be retrieved and executed by a worker. + +As a build is run by a worker, it will send requests to the server's API which stores the state of the build in the database. + +![Build Workflow](/img/build_workflow.png) + +## Deployment Guides + +Vela supports a number of deployment strategies to enable the preferences of you and your team. + +This section provides a list of comprehensive guides to install and start the server: + +### Docker + +From the [Docker official website](https://docker.io/): + +> Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle. + +Please refer to [our Docker deployment guide](/docs/installation/server/docker.md) to get started. + diff --git a/versioned_docs/version-1.0/installation/ui/docker.md b/versioned_docs/version-1.0/installation/ui/docker.md new file mode 100644 index 0000000..34ede85 --- /dev/null +++ b/versioned_docs/version-1.0/installation/ui/docker.md @@ -0,0 +1,68 @@ +--- +sidebar_position: 2 +--- + +# Docker + +## Prerequisites + +This section provides all required dependencies to install and start the UI with Docker. + +### Dependency 1: Docker + +[Docker](https://docs.docker.com/) will be used for downloading the UI and managing the lifecycle of the application. + +You can refer to [Docker's official documentation](https://docs.docker.com/get-docker/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the UI with Docker. + +This example only shows a subset of all possible configuration options. + +### Step 1: Download the Image + +Download the [Docker image](https://docs.docker.com/get-started/overview/#images) for the Vela UI from [DockerHub](https://hub.docker.com/). + +You can use the [`docker pull` command](https://docs.docker.com/engine/reference/commandline/pull/) to download the image: + +```shell +$ docker pull target/vela-ui:latest +``` + +:::info +The `latest` tag will ensure you install the most-recent version of the Vela UI. + +To see the full list of available versions, please refer to [the official registry](https://hub.docker.com/r/target/vela-ui). +::: + +### Step 2: Start the UI + +Start the Vela UI as a [Docker container](https://docs.docker.com/get-started/overview/#containers) that is configured via environment variables. + +You can use the [`docker run` command](https://docs.docker.com/engine/reference/commandline/run/) to start the worker: + +```shell +$ docker run \ + --detach=true \ + --env=VELA_API=https://vela-server.example.com \ + --name=ui \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + target/vela-ui:latest +``` + +:::info +For a full list of configuration options, please see the [UI reference](/docs/installation/ui/reference/). +::: + +### Step 3: Verify the UI Logs + +Ensure the UI started up successfully and is running as expected by inspecting the logs. + +You can use the [`docker logs` command](https://docs.docker.com/engine/reference/commandline/logs/) to verify the logs: + +```shell +$ docker logs ui +``` \ No newline at end of file diff --git a/versioned_docs/version-1.0/installation/ui/ui.md b/versioned_docs/version-1.0/installation/ui/ui.md new file mode 100644 index 0000000..13e9413 --- /dev/null +++ b/versioned_docs/version-1.0/installation/ui/ui.md @@ -0,0 +1,34 @@ +--- +sidebar_position: 1 +--- +# UI + +Known as the user interface for the Vela application, often referred to as the Vela UI, this service provides a means for utilizing and interacting with the Vela platform. + +The Vela UI aims to provide users with an easy-to-use toolbox that supplies most of the functionality necessary for managing, investigating, and successfully troubleshooting Vela pipelines. + +This array of functionality includes viewing and managing resources in the system, enabling repositories, compiling pipelines, viewing logs etc. Most of these actions are performed through interacting with the server API on the user's behalf. + +The UI also offers a quick glance into additional pipeline information, including any errors that might be interfering with the success of your pipeline, such as webhook processing issues returned by the SCM or user pipeline syntax mistakes. The purpose of the UI is to make managing and debugging Vela pipelines not only possible, but approachable. + +## Deployment Guides + +Vela supports a number of deployment strategies to enable the preferences of you and your team. + +This section provides a list of comprehensive guides to install and start the UI: + +### Docker + +From the [Docker official website](https://docker.io/): + +> Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle. + +Please refer to [our Docker deployment guide](/docs/installation/ui/docker/) to get started. + +### Kubernetes + +From the [Kubernetes official website](https://kubernetes.io/): + +> Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. + +Please refer to [our Kubernetes deployment guide](/docs/installation/ui/kubernetes/) to get started. \ No newline at end of file diff --git a/versioned_docs/version-1.0/installation/worker/docker.md b/versioned_docs/version-1.0/installation/worker/docker.md new file mode 100644 index 0000000..fa6e2a4 --- /dev/null +++ b/versioned_docs/version-1.0/installation/worker/docker.md @@ -0,0 +1,121 @@ +--- +sidebar_position: 2 +--- + +# Docker + +## Prerequisites + +This section provides all required dependencies to install and start the worker with Docker. + +### Dependency 1: Docker + +[Docker](https://docs.docker.com/) will be used for downloading the worker and managing the lifecycle of the application. + +You can refer to [Docker's official documentation](https://docs.docker.com/get-docker/) on installing and configuring the service. + +### Dependency 2: Redis + +[Redis](https://redis.io/) will be used for storing workloads, created by the [server](/docs/installation/server/server.md), that will be run by a worker. + +You can refer to [Redis's official documentation](https://redis.io/topics/quickstart/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the worker with Docker. + +This example only shows a subset of all possible configuration options. + +### Step 1: Download the Image + +Download the [Docker image](https://docs.docker.com/get-started/overview/#images) for the Vela worker from [DockerHub](https://hub.docker.com/). + +You can use the [`docker pull` command](https://docs.docker.com/engine/reference/commandline/pull/) to download the image: + +```shell +$ docker pull target/vela-worker:latest +``` + +:::info +The `latest` tag will ensure you install the most-recent version of the Vela worker. + +To see the full list of available versions, please refer to [the official registry](https://hub.docker.com/r/target/vela-worker). +::: + +### Step 2: Determine Worker Authentication and Start Worker + +Currently, Vela supports two methods of maintaining authentication between the worker and the server. + +Take care to read through both options to determine which setup makes the most sense for your installation: + +##### Worker-Server Trusted Symmetric Token + +This authentication method involves using the same secret generated as the `VELA_SECRET` during the [server installation](/docs/installation/server/docker/#step-3-create-a-shared-secret) as the bearer token for all API requests related to check-in and build tokens from the worker to the server. + +The token is non-expiring and exists within the container environment. Once the server is running, all that is necessary for a worker to connect to the server and pull builds from the queue is simply starting the worker container: + +```shell +$ docker run \ + --detach=true \ + --env=VELA_QUEUE_DRIVER=redis \ + --env=VELA_SERVER_ADDR=https://vela-server.example.com \ + --env=VELA_SERVER_SECRET= \ + --env=VELA_WORKER_ADDR=https://vela-worker.example.com \ + --name=worker \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + --volume=/var/run/docker.sock:/var/run/docker.sock \ + target/vela-worker:latest +``` + +The worker must still pass its check-in with the server in order to pull builds from the queue. + +##### Worker Registration and Auth Refresh + +This authentication method is the more secure of the two options. Rather than using a non-expiring token in the container environment, platform administrators can register workers using their credentials via the Vela CLI. In order to leverage this method, simply do NOT supply the [`VELA_SECRET`](/docs/installation/server/reference/#vela_secret) to the server and do NOT supply the [`VELA_SERVER_SECRET`](/docs/installation/worker/reference/#vela_server_secret) to the worker. + +To start, launch the worker container: + +```shell +$ docker run \ + --detach=true \ + --env=VELA_QUEUE_DRIVER=redis \ + --env=VELA_SERVER_ADDR=https://vela-server.example.com \ + --env=VELA_WORKER_ADDR=https://vela-worker.example.com \ + --name=worker \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + --volume=/var/run/docker.sock:/var/run/docker.sock \ + target/vela-worker:latest +``` + +Once the worker has started, it will be in a paused state until a platform admin registers the worker: + +```shell +$ vela login --api.addr https://vela-server.example.com + +$ vela add worker --worker.hostname vela-worker --worker.address https://vela-worker.example.com + +worker registered successfully +``` + +This process involves the generation of a registration token, which can only be done by platform admins. The quickly expiring registration token is then passed to the worker using an http request to the worker's `/register` endpoint. The worker exchanges this registration token with the server for an auth token. + +:::info +IMPORTANT: When using this method, ensure that the [`VELA_WORKER_AUTH_TOKEN_DURATION`](/docs/installation/server/reference/#vela_worker_auth_token_duration) configured in the server is _longer_ than the [`VELA_CHECK_IN`](/docs/installation/worker/reference/#vela_check_in) configured in the worker. This ensures that all requests made by the worker are done with a valid token, refreshed at each check-in. +::: + +Once registered, the worker will continue refreshing its authentication token at the specified check in interval. Workers that lose their connection to the server for long enough for their existing auth +token to expire will need to be re-registered. + +### Step 3: Verify the Worker Logs + +Ensure the worker started up successfully and is running as expected by inspecting the logs. + +You can use the [`docker logs` command](https://docs.docker.com/engine/reference/commandline/logs/) to verify the logs: + +```shell +$ docker logs worker +``` diff --git a/versioned_docs/version-1.0/installation/worker/worker.md b/versioned_docs/version-1.0/installation/worker/worker.md new file mode 100644 index 0000000..f9143f3 --- /dev/null +++ b/versioned_docs/version-1.0/installation/worker/worker.md @@ -0,0 +1,33 @@ +--- +sidebar_position: 1 +--- + +# Worker + +Known as the brawn of the Vela application, this service is responsible for managing the state of build resources. + +This includes pulling the build, provided by the [server](/docs/installation/server/overview.md), from the queue to be run. + +When a build is fetched from the queue, the worker will create and delete resources through the lifecycle of the build. + +During this time, the worker will send API requests to the server to report the status and progress of these resources. + +Additionally, the worker has its own API for processing web requests. + +![Build Workflow](/img/build_workflow.png) + +## Deployment Guides + +Vela supports a number of deployment strategies to enable the preferences of you and your team. + +This section provides a list of comprehensive guides to install and start the worker: + +### Docker + +From the [Docker official website](https://docker.io/): + +> Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle. + +Please refer to [our Docker deployment guide](/docs/installation/server/docker.md) to get started. + + diff --git a/versioned_docs/version-1.0/reference/_category_.json b/versioned_docs/version-1.0/reference/_category_.json new file mode 100644 index 0000000..6a91167 --- /dev/null +++ b/versioned_docs/version-1.0/reference/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Reference", + "position": 3, + "link": { + "type": "generated-index", + } +} diff --git a/versioned_docs/version-1.0/reference/api/_category_.json b/versioned_docs/version-1.0/reference/api/_category_.json new file mode 100644 index 0000000..cccf88d --- /dev/null +++ b/versioned_docs/version-1.0/reference/api/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "API", + "position": 1, + "link": {"type": "generated-index"}, +} diff --git a/versioned_docs/version-1.0/reference/api/admin/_category_.json b/versioned_docs/version-1.0/reference/api/admin/_category_.json new file mode 100644 index 0000000..e4d6677 --- /dev/null +++ b/versioned_docs/version-1.0/reference/api/admin/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Admin", + "position": 2, +"link": {"type": "generated-index"}, +} \ No newline at end of file diff --git a/versioned_docs/version-1.0/reference/api/admin/build-queue.md b/versioned_docs/version-1.0/reference/api/admin/build-queue.md new file mode 100644 index 0000000..5adda20 --- /dev/null +++ b/versioned_docs/version-1.0/reference/api/admin/build-queue.md @@ -0,0 +1,97 @@ +--- +title: "Build Queue" +linkTitle: "Build Queue" +description: > + Learn how to list all running and pending builds. +--- + +## Endpoint + +``` +GET /api/v1/admin/builds/queue +``` + +## Responses + +| Status Code | Description | +| ----------- | --------------------------------------------------- | +| `200` | indicates the request has succeeded | +| `401` | indicates the user does not have proper permissions | + +## Sample + +:::warning +This section assumes you already know how to authenticate to the API. + +To authenticate to the API, please review the [authentication documentation](/docs/reference/api/authentication/). +::: + +#### Request + +```sh +curl \ + -X GET \ + -H "Authorization: Bearer " \ + "http://127.0.0.1:8080/api/v1/admin/builds/queue" +``` + +#### Response + +```json +[ + { + "id": 2, + "repo_id": 2, + "number": 1, + "parent": 1, + "event": "push", + "status": "pending", + "error": "", + "enqueued": 1563474204, + "created": 1563474204, + "started": 1563474204, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "Second commit...", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "ed95dcc0687c", + "runtime": "", + "distribution": "" + }, + { + "id": 1, + "repo_id": 1, + "number": 1, + "parent": 1, + "event": "push", + "status": "running", + "error": "", + "enqueued": 1563474077, + "created": 1563474076, + "started": 1563474077, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "First commit...", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "82823eb770b0", + "runtime": "", + "distribution": "" + } +] +``` \ No newline at end of file diff --git a/versioned_docs/version-1.0/reference/api/admin/build.md b/versioned_docs/version-1.0/reference/api/admin/build.md new file mode 100644 index 0000000..30b0b29 --- /dev/null +++ b/versioned_docs/version-1.0/reference/api/admin/build.md @@ -0,0 +1,105 @@ +--- +title: "Build" +linkTitle: "Build" +description: > + Learn how to update a build as an admin in the system. +--- + +## Endpoint + +``` +PUT /api/v1/admin/build +``` + +## Responses + +| Status Code | Description | +| ----------- | --------------------------------------------------- | +| `200` | indicates the request has succeeded | +| `401` | indicates the user does not have proper permissions | + +## Sample + +:::warning +This section assumes you already know how to authenticate to the API. + +To authenticate to the API, please review the [authentication documentation](/docs/reference/api/authentication/). +::: + +Note: You must provide the entire build object, as this endpoint overwrites the +existing entry for the build. + +#### File + +```json +{ + "id": 1, + "repo_id": 1, + "number": 1, + "parent": 1, + "event": "push", + "status": "created", + "error": "", + "enqueued": 1563474077, + "created": 1563474076, + "started": 1563474077, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "this is an updated message", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "company.localhost", + "runtime": "docker", + "distribution": "linux" +} +``` + +#### Request + +```sh +curl \ + -X PUT \ + -H "Authorization: Bearer " \ + -H "Content-Type: application/json" \ + -d "@data.json" \ + "http://127.0.0.1:8080/api/v1/admin/build" +``` + +#### Response + +```json +{ + "id": 1, + "repo_id": 1, + "number": 1, + "parent": 1, + "event": "push", + "status": "created", + "error": "", + "enqueued": 1563474077, + "created": 1563474076, + "started": 1563474077, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "this is an updated message", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "company.localhost", + "runtime": "docker", + "distribution": "linux" +} +``` diff --git a/versioned_docs/version-1.0/reference/api/authentication.md b/versioned_docs/version-1.0/reference/api/authentication.md new file mode 100644 index 0000000..4d0c348 --- /dev/null +++ b/versioned_docs/version-1.0/reference/api/authentication.md @@ -0,0 +1,54 @@ +--- +title: "Authentication" +linkTitle: "Authentication" +weight: 5 +description: > + Learn how authenticating to the Vela API works. +--- + +## Overview + +Authentication for the Vela API is the responsibility of the client initiating the request. + +Each request requires a token to be provided as an `Authorization` HTTP header. + +The content of this header should be using the `Bearer ` scheme. + +```sh +Authorization: Bearer +``` + +:::tip +For more information, you can visit the [Swagger authentication documentation](https://swagger.io/docs/specification/authentication/bearer-authentication/). +::: + +## Format + +Vela tokens are based off the format of the [JSON Web Token](https://jwt.io/) (a.k.a. JWT) standard. + +The token can be broken down into 3 distinct sections, separated by periods (`.`): + +* **Header** - metadata about the type of token and the signing algorithm used +* **Payload** - data (a.k.a. claims) providing additional information +* **Signature** - encoded string based off the header, payload and secret + +```sh +# syntax +header.payload.signature + +# sample +xxxxx.yyyyy.zzzzz +``` + +:::tip +For more information, you can visit the [JWT introduction documentation](https://jwt.io/introduction/). +::: + +## Sample + +```sh +curl \ + -X GET \ + -H "Authorization: Bearer " \ + "http://127.0.0.1:8080/api/v1/users" +``` diff --git a/versioned_docs/version-1.0/reference/cli/_category_.json b/versioned_docs/version-1.0/reference/cli/_category_.json new file mode 100644 index 0000000..5569091 --- /dev/null +++ b/versioned_docs/version-1.0/reference/cli/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "CLI", + "position": 1, + "link": {"type": "generated-index"}, +} diff --git a/versioned_docs/version-1.0/reference/cli/repo/_category_.json b/versioned_docs/version-1.0/reference/cli/repo/_category_.json new file mode 100644 index 0000000..da68eb5 --- /dev/null +++ b/versioned_docs/version-1.0/reference/cli/repo/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Repo", + "position": 1, + "link": {"type": "generated-index"}, +} diff --git a/versioned_docs/version-1.0/reference/cli/repo/add.md b/versioned_docs/version-1.0/reference/cli/repo/add.md new file mode 100644 index 0000000..5404cba --- /dev/null +++ b/versioned_docs/version-1.0/reference/cli/repo/add.md @@ -0,0 +1,97 @@ +--- +title: "Add" +sidebar_position: 1 +--- + +## Command + +``` +$ vela add repo +``` + +:::info +For more information, you can run `vela add repo --help`. +::: + +## Parameters + +The following parameters are used to configure the command: + +| Name | Description | Environment Variables | +| --------------- | -------------------------------------------------- | -------------------------------------- | +| `org` | name of organization for the repository | `VELA_ORG`, `REPO_ORG` | +| `repo` | name of repository | `VELA_REPO`, `REPO_NAME` | +| `branch` | default branch for the repository | `VELA_BRANCH`, `REPO_BRANCH` | +| `link` | full URL for the repository | `VELA_LINK`, `REPO_LINK` | +| `clone` | clone URL for the repository | `VELA_CLONE`, `REPO_CLONE` | +| `visibility` | access level required to view the repository | `VELA_VISIBILITY`, `REPO_VISIBILITY` | +| `build.limit` | limit of concurrent builds allowed for repository | `VELA_BUILD_LIMIT`, `REPO_BUILD_LIMIT` | +| `timeout` | max time allowed per build | `VELA_TIMEOUT`, `REPO_TIMEOUT` | +| `counter` | set a value for a new build number | `VELA_COUNTER`, `REPO_COUNTER` | +| `private` | disables public access to the repository | `VELA_PRIVATE`, `REPO_PRIVATE` | +| `trusted` | elevates permissions for builds for the repository | `VELA_TRUSTED`, `REPO_TRUSTED` | +| `active` | enables/disables the repository | `VELA_ACTIVE`, `REPO_ACTIVE` | +| `event` | events to trigger builds for the repository | `VELA_EVENTS`, `REPO_EVENTS` | +| `pipeline-type` | type of base pipeline for the compiler to render | `VELA_PIPELINE_TYPE`, `PIPELINE_TYPE` | +| `output` | format the output for the repository | `VELA_OUTPUT`, `REPO_OUTPUT` | + +:::info +This command also supports setting the following parameters via a configuration file: + +- `org` +- `repo` +- `output` + +For more information, please review the [CLI config documentation](/docs/reference/cli/config/). +::: + +## Sample + +:::info +This section assumes you have already installed and setup the CLI. + +To install the CLI, please review the [installation documentation](/docs/reference/cli/install/). + +To setup the CLI, please review the [authentication documentation](/docs/reference/cli/authentication/). +::: + +#### Request + +```sh +$ pwd +~/github/octocat +$ vela add repo +``` + +#### Targeted Request + +```sh +$ vela add repo --org github --repo octocat +``` + +#### Response + +```sh +id: 1 +userid: 1 +org: github +name: octocat +fullname: github/octocat +link: https://github.com/github/octocat +clone: https://github.com/github/octocat.git +branch: main +buildlimit: 10 +timeout: 60 +timeout: 0 +visibility: public +private: false +trusted: false +active: true +allowpull: true +allowpush: true +allowdeploy: false +allowtag: false +allowcomment: false +allowevents: [push pull_request:opened pull_request:synchronize ] +pipelinetype: yaml +``` diff --git a/versioned_docs/version-1.0/reference/yaml/environment.md b/versioned_docs/version-1.0/reference/yaml/environment.md new file mode 100644 index 0000000..95b944d --- /dev/null +++ b/versioned_docs/version-1.0/reference/yaml/environment.md @@ -0,0 +1,16 @@ +--- +title: "Environment" +linkTitle: "Environment" +--- + +The environment key is intended to be used to inject a global environment configuration into steps, services and secret containers. Control of which container types get the injected environment settings is available via the metadata block. + +```yaml +--- +# This document is displaying using the environment key with a map syntax. +# Additionally, you can also use array syntax where the items in +# they array are of pattern HELLO="Hello, Vela!" +environment: + HELLO: "Hello, Vela!" +``` + diff --git a/versioned_docs/version-1.0/reference/yaml/yaml.md b/versioned_docs/version-1.0/reference/yaml/yaml.md new file mode 100644 index 0000000..c69e36c --- /dev/null +++ b/versioned_docs/version-1.0/reference/yaml/yaml.md @@ -0,0 +1,62 @@ +--- +title: "YAML" +linkTitle: "YAML" +--- + +Steps and Stages Pipeline use "YAML Ain’t Markup Language" (YAML) which is a data serialization language designed to be human friendly. Vela accepts YAML files with either a `.yml` or `.yaml` extension. If you'd like to learn more about the YAML language, we recommend you see, "[Learn YAML in five minutes.](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)". + +:::info +The design goals for YAML are, in decreasing priority: + +1. YAML is easily readable by humans. +2. YAML data is portable between programming languages. +3. YAML matches the native data structures of agile languages. +4. YAML has a consistent model to support generic tools. +5. YAML supports one-pass processing. +6. YAML is expressive and extensible. +7. YAML is easy to implement and use. + +See YAML [design goals](https://yaml.org/spec/1.2/spec.html#Introduction) from spec. +::: + +## Terminology Check + +Whether you are a YAML expert or a novice, here is some quick terminology that you should be aware of: + +:::info +You can get feedback directly on your `.vela.yml` or `.vela.yaml` pipelines in your IDE with the available [JSON Schema](/docs/usage/json-schema-support). +::: + +### Document + +A file ending with `.yml` or `.yaml` that contains contents following the YAML spec is called a document, see [YAML 1.2 spec for full details](https://yaml.org/spec/1.2/spec.html#id2800132). + +Example: + +```yml +--- +key: value +``` + +### Keys + +A YAML document is compose of one to many key-value pairs where the value is evaluated to an explicit type (Int, Float, string, bool, etc), see [YAML 1.2 spec for full details](https://yaml.org/spec/1.2/spec.html#id2761292). + +Example: + +```yml +--- +# an integer +canonical: 12345 + +# a float +canonical: 3.14159e+3 + +# a string +canonical: "Hello, World" + +# a bool +canonical: true +``` + + diff --git a/versioned_docs/version-1.0/usage/_category_.json b/versioned_docs/version-1.0/usage/_category_.json new file mode 100644 index 0000000..bb1bdb8 --- /dev/null +++ b/versioned_docs/version-1.0/usage/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Usage", + "position": 2, + "link": { + "type": "generated-index", + } +} diff --git a/versioned_docs/version-1.0/usage/json-schema-support.md b/versioned_docs/version-1.0/usage/json-schema-support.md new file mode 100644 index 0000000..2f730cb --- /dev/null +++ b/versioned_docs/version-1.0/usage/json-schema-support.md @@ -0,0 +1,9 @@ +--- +title: "JSON Schema Support" +sidebar_position: 3 +--- + +The schema gets published and updated via https://github.com/go-vela/types where it ends up as a release artifact. The latest schema is available for download from https://github.com/go-vela/types/releases/latest/download/schema.json. + +In addition, the schema is available in the JSON Schema Store project at https://www.schemastore.org. +[Supported editors](https://www.schemastore.org/json#editors) automatically use schemas that this project provides, including Vela's schema. diff --git a/versioned_docs/version-1.0/usage/managing-deployments.md b/versioned_docs/version-1.0/usage/managing-deployments.md new file mode 100644 index 0000000..0c55f91 --- /dev/null +++ b/versioned_docs/version-1.0/usage/managing-deployments.md @@ -0,0 +1,90 @@ +--- +sidebar_position: 4 +--- +# Managing Deployments + +Pipelines can be written with your specific branching methodology in mind but when it comes to deployments you often want to be very intentional with triggering a change. For this reason, Vela has deployments, a unique build event that is triggered directly via Vela on a specific ref (branch, SHA, tag). + +Vela leverages a deep integration with [GitHub Deployments](https://docs.github.com/en/rest/reference/repos#deployments) which will not only trigger your build but create a system of record on GitHub for your deployment action. You can leverage a deployment in your steps like: + +:::info +Make sure you have the `deployment` event enabled within repo settings + +Additionally, any secret you may need for the event must also have `deployments` allowed for events. +::: + +```yaml +# A step triggering on "all" deployment events +- name: All deployments + image: alpine + commands: + - echo "Running your deployment!" + ruleset: + event: [ deployment ] + +# A step triggering deployment to a specific target. +# Targets can be any value i.e. dev, stage, eng, prod, etc +- name: Targeted deployments + image: alpine + commands: + - echo "Running deployment for ${VELA_DEPLOYMENT}!" + ruleset: + event: [ deployment ] + target: [ dev, eng ] +``` + +## Usage + +Let us look at an example workflow for executing a deployment on your repo. You should understand the following concepts before proceeding: + +* [Steps](/docs/tour/steps/) + * [image](/docs/tour/image/) + * [Commands](/docs/tour/environment/) + * [Ruleset](/docs/tour/rulesets/) + +```yaml +version: "1" +steps: + # A step triggering on "all" deployment events + - name: All deployments + image: alpine + commands: + - echo "Running your deployment!" + ruleset: + event: [ deployment ] + + # A step triggering deployment to a specific target. + # Targets can be any value i.e. dev, stage, eng, prod, etc + - name: Targeted deployments + image: alpine + commands: + - echo "Running deployment for ${VELA_DEPLOYMENT}!" + ruleset: + event: [ deployment ] + target: [ dev, eng ] + + # Now that we know how to control a deployment, lets look + # at adding custom parameters. Sometimes not only do you need + # control of the target but you want custom data available + # when your pipeline runs. + - name: Custom parameters deployments + image: alpine + commands: + - echo "Custom parameter message, ${DEPLOYMENT_PARAMETER_MESSAGE}" + ruleset: + event: [ deployment ] + target: [ dev, eng ] +``` + +The following CLI commands will trigger the pipeline and produce different permutations of the pipeline executing: + +```sh +# Trigger deployment with no additional configuration +$ vela add deployment --org github --repo octocat + +# Trigger deployment for a repository with a specific target environment. +$ vela add deployment --org github --repo octocat --target stage + +# Add a deployment for a repository with two parameters. +$ vela add deployment --org github --repo octocat --parameter 'message=Hello, custom var!' +``` \ No newline at end of file diff --git a/versioned_docs/version-1.0/usage/plugins/plugins.md b/versioned_docs/version-1.0/usage/plugins/plugins.md new file mode 100644 index 0000000..9374264 --- /dev/null +++ b/versioned_docs/version-1.0/usage/plugins/plugins.md @@ -0,0 +1,85 @@ +--- +title: "Plugins" +sidebar_position: 2 +--- + +Vela contains two plugin types: + +* pipeline - designed to be used within steps, stages, and template pipelines +* secret - designed to be used within the secrets Yaml block of pipelines + +Both accept configuration via environment variables but should be used within their specific location of the Yaml pipeline. + +:::info +Before you begin your plugin journey we recommend the following pre-requisites: + +* [Steps](/docs/tour/steps/) +* [Stages](/docs/tour/stages/) +* [Templates](/docs/tour/templates/) +::: + +## Pipeline + +Pipeline plugins are designed to automate, customize, and execute your software development workflows. A pipeline plugin is a Docker container that is designed to perform a set of pre-defined actions. + +These actions can be for any number of general tasks, including: + +* deploying code +* publishing artifacts +* sending notifications +* much, much more... + +### Example + +The example we have shown is publishing an image to a registry. Pipeline plugins configuration works via environment variables that pass data from pipeline to the container at runtime. + +_Not a runnable pipeline_ +```diff +version: "1" + +steps: + - name: docker + image: target/vela-docker + pull: always ++ parameters: ++ registry: index.docker.io ++ repo: index.docker.io/octocat/hello-world +``` + +## Secret + +:::warning +Secret plugins are configured with an allow list of available images via an administator on installation. To know which secret plugins are available for your Vela installation, we recommend consulting your system administrators. +::: + +Secret plugins are designed to be used to read secrets in volumes within the Vela workspace. When a secret plugin runs the plugin should write data to the custom Vela mount (`/vela/secrets/`) as key/value pairs. Secret plugins configuration works via environment variables that pass data from pipeline to the container at runtime. + +A secret plugin works in tandem with the Vela workspace to read data from a provider and write them into an available location (`/vela/secrets`) within a pipeline. + +### Sample + +_Not a runnable pipeline_ +```diff +secrets: + - name: vault_token + key: go-vela/vault_token + engine: native + type: org + + - origin: + name: vault + image: target/secret-vault + pull: always + secrets: [ vault_token ] ++ parameters: ++ addr: vault.company.com ++ auth_method: token ++ username: octocat ++ items: ++ - source: secret/docker ++ path: docker +``` + +From the above example, will have written the following available secrets to: + +* `/vela/secrets/docker// **NOTE:** +> +> Users should refrain from using latest as the tag for the Docker image. +> +> It is recommended to use a semantically versioned tag instead. + +More information for ansible-lint can be found at: [ansible-lint docs](https://ansible-lint.readthedocs.io/en/latest/). \ +More information for ansible-playbook can be found at: [ansible-playbook docs](https://ansible-lint.readthedocs.io/en/latest/). + +### Sample for .vela.yml + +```yaml +steps: + - name: ansible-lint + image: target/vela-ansible:latest + parameters: + action: lint + playbook: "abox/main.yml" + lint_skip: + - no-changed-when + - key-order + + - name: ansible-playbook + image: target/vela-ansible:latest + parameters: + action: playbook + playbook: "abox/main.yml" + options_inventory: "abox/inventory/hosts.yml" + connection_user: root +``` + +## Parameters + +The following parameters are used to configure the image: + +| Parameter | Description | Required | Default | +| ----------- | -------------------------------------------------------------------------- | -------- | ------- | +| `log_level` | set the log level for the plugin (valid options: `info`, `debug`, `trace`) | true | info | +| `action ` | set plugin action (valid options: `lint`, `playbook`) | true | lint | + +> Note: `action` parameter will determine whether to run ansible-lint or ansible-playbook. The default is set to ansible-lint. + +### Ansible-Lint + +| Parameter | Description | Required | Default | +| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------- | +| `playbook` | playbook to be ran by ansible-lint | true | false | +| `lint_version` | returns ansible-lint version and exits the program. | false | false | +| `lint_list` | lists all the rules. | false | false | +| `lint_format` | format used rules output (rich,plain,rst,codeclimate,quiet,pep8) | false | rich | +| `lint_quieter` | quieter, although not silent output. | false | false | +| `lint_parseable` | parseable output in the format of pep8. | false | false | +| `lint_parseableseverity` | parseable output including severity of rule. | false | false | +| `lint_progressive` | return success if it detects a reduction in number of violations compared with previous git commit. This feature works only in git repositories. | false | false | +| `lint_projectdir` | location of project/repository, autodetected based on location of configuration file. | false | N/A | +| `lint_rule` | specify one or more rules directories. -r flag (lint_rule) overrides the default rules in /path/to/ansible-lint/lib/ansiblelint/rules, unless -R (lint_rulesdefault) is also used. | false | N/A | +| `lint_rulesdefault` | use default rules in /path/to/ansible-lint/lib/ansiblelint/rules in addition to any extra rules directories specified with -r (lint_rule). There is no need to specify this if no -r (lint_rule) flag/s is/are used. | false | false | +| `lint_showrelativepath` | display path relative to CWD. | false | false | +| `lint_tags` | only check rules whose id/tags match these values. | false | N/A | +| `lint_tagslist` | list all the tags. | false | false | +| `lint_verbose` | increase verbosity level. | false | false | +| `lint_skip` | only check rules whose id/tags does not match these values. | false | N/A | +| `lint_warn` | only warn about these rules, unless overridden in config file defaults to 'experimental' | false | experimental | +| `lint_enable` | activate optional rules by their tag name | false | N/A | +| `lint_nocolor` | disable colored output. | false | false | +| `lint_forcecolor` | try force colored output. | false | false | +| `lint_exclude` | path to directories or files to skip. | false | N/A | +| `lint_config` | specify a configuration file to use. | false | .ansible-lint | +| `lint_offline` | disable installation of requirements.yml | false | false | + +### Ansible-Playbook + +| Parameter | Description | Required | Default | +| ---------- | --------------------------------------- | -------- | ------- | +| `playbook` | playbook to be ran by ansible-playbook. | true | N/A | + +### ansible-playbook options + +| Parameter | Description | Required | Default | +| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------------------------------------------------------------- | +| `options_askvaultpass` | ask for vault password. | false | false | +| `options_flushcache` | clear the fact cache for every host in inventory. | false | false | +| `options_forcehandlers` | run handlers even if a task fails. | false | false | +| `options_listhosts` | outputs a list of matching hosts and exits program. | false | false | +| `options_listtags` | list all available tags | false | false | +| `options_listtasks` | list all tasks to be executed. | false | false | +| `options_skiptags` | only run plays and tasks whose tags does not match these values. | false | N/A | +| `options_startattask` | start the playbook at the task matching this name. | false | N/A | +| `options_step` | one-set-at-a-time: confirm each task before running. | false | false | +| `options_syntaxcheck` | perform a syntax check on the playbook and exits program. | false | false | +| `options_vaultid` | the vault identity to use. | false | N/A | +| `options_vaultpasswordfile` | vault password file. | false | N/A | +| `options_version` | returns ansible-playbook version number, configuration file location, configured module search path, module location, executable location and exits program. | false | false | +| `options_check` | dry-run, does not make any changes; instead, tries to predict some of the changes that may occur. | false | false | +| `options_difference` | when changing (small) files and template, shows the difference in those files. | false | false | +| `options_modulepath` | prepend colon-separated path(s) to module library | false | ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules | +| `options_extravars` | set additional variables as key=value or YAML/JSON, if filename is prepend with @ | false | N/A | +| `options_forks` | specify number of parallel processes to use. | false | 5 | +| `options_inventory` | specify inventory host path or comma separated host list. | true | N/A | +| `options_limit` | further limit selected hosts to additional pattern. | false | false | +| `options_tags` | only run plays and task whose tags matches these values. | false | N/A | +| `options_verbose` | verbose mode. | false | false | +| `options_verbosemore` | verbose mode: more verbose. | false | false | +| `options_verbosedebug` | verbose mode: connection debugging | false | false | + +### ansible-playbook connection + +| Parameter | Description | Required | Default | +| -------------------------- | ------------------------------------------------- | -------- | ------- | +| `connection_privatekey` | use this file to authenticate the connection. | false | N/A | +| `connection_scpextraargs` | specify extra arguments to pass to scp only. | false | N/A | +| `connection_sftpextraargs` | specify extra arguments to pass to sftp only. | false | N/A | +| `connection_sshextraargs` | specify extra arguments to pass to ssh only. | false | N/A | +| `connection_sshcommonargs` | specify common arguments to pass to scp/sftp/ssh. | false | N/A | +| `connection_timeout` | override the connection timeout in seconds. | false | 10 | +| `connection_connection` | connection type to use. | false | smart | +| `connection_user` | connect as this user. | false | none | +| `connection_passwordfile` | connection password file | false | N/A | + +### ansible-playbook privilege escalation + +| Parameter | Description | Required | Default | +| -------------------------- | -------------------------------------------------------------- | -------- | ------- | +| `privilege_becomemethod` | privilege escalation method to use. | false | sudo | +| `privilege_becomeuser` | run operation as this user. | false | root | +| `privilege_askbecomepass` | ask for privilege escalation password. | false | false | +| `privilege_become` | run operations with become (does not imply password prompting) | false | false | +| `privilege_becomepassfile` | become password file | false | N/A | + +## Template + +COMING SOON! + +## Troubleshooting + +You can start troubleshooting this plugin by tuning the level of logs being displayed: + +```diff +steps: + - name: ansible-lint + image: target/vela-ansible:latest + parameters: ++ log_level: trace + action: lint + playbook: "abox/main.yml" + +``` + +Below are a list of common problems and how to solve them: \ No newline at end of file diff --git a/versioned_docs/version-1.0/usage/plugins/registry/vault.md b/versioned_docs/version-1.0/usage/plugins/registry/vault.md new file mode 100644 index 0000000..f39eb3b --- /dev/null +++ b/versioned_docs/version-1.0/usage/plugins/registry/vault.md @@ -0,0 +1,142 @@ +# Vault + +## Description + +This plugin enables the ability pull secrets from [Vault](https://www.vaultproject.io/) into the secret mount within a Vela pipeline. + +Source Code: https://github.com/go-vela/secret-vault + +Registry: https://hub.docker.com/r/target/secret-vault + +## Usage + +Sample of retrieving a secret using token authentication: + +```yaml +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + parameters: + addr: vault.company.com + token: superSecretVaultToken + auth_method: token + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +Sample of retrieving a secret using ldap authentication: + +```diff +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + parameters: + addr: vault.company.com ++ username: octocat ++ password: superSecretPassword +- token: superSecretVaultToken ++ auth_method: ldap + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +Sample of reading a secret using ldap authentication with verbose logging: + +```diff +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + parameters: + addr: vault.company.com + username: octocat + password: superSecretPassword + token: superSecretVaultToken + auth_method: ldap ++ log_level: trace + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +Sample of retrieving a secret and writing it to multiple paths with a new key: +```yaml +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + secrets: + - source: superSecretToken + target: vault_token + parameters: + addr: vault.company.com + auth_method: token + items: + # assume user_A has two keys: `id` and `token`, but we want it to be `username` and `password` + # + # this will write to `/vela/secrets/kaniko/username` and `/vela/secrets/kaniko/password` + # and also `/vela/secrets/artifactory/username` and `/vela/secrets/artifactory/password` + - source: secret/vela/user_A + path: [ kaniko, artifactory ] + keys: + id: username + token: password +``` + +## Secrets + +**NOTE: Users should refrain from configuring sensitive information in your pipeline in plain text.** + +**NOTE: Secrets used within the secret plugin must exist as Vela secrets.** + +You can use Vela secrets to substitute sensitive values at runtime: + +```diff +secrets: + # Repo secret created within Vela + - name: vault_token + + # Example using token authentication method + - origin: + name: vault + image: target/vela/secret-vault:latest + secret: [ vault_token ] + parameters: + addr: vault.company.com +- token: superSecretVaultToken + auth_method: token + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +## Parameters + +The following parameters are used to configure the image: + +| Name | Description | Required | Default | +| ------------- | -------------------------------------------------------- | --------- | ------- | +| `addr` | address to the instance | `true` | `N/A` | +| `auth_method` | authentication method for interfacing (i.e. token, ldap) | `true` | `N/A` | +| `log_level` | set the log level for the plugin | `true` | `info` | +| `password` | password for server authentication with ldap | `false` | `N/A` | +| `token` | token for server authentication | `false` | `N/A` | +| `username` | set the log level for the plugin | `false` | `N/A` | +| `items` | set of secrets to retrieve and write to workspace | `true` | `N/A` | + +### Items + +| Name | Description | Required | Default | +| ------------- | -------------------------------------------------------- | --------- | ------------ | +| `source` | path to secret | `true` | `N/A` | +| `path` | desired file path under `vela/secrets/` directory | `true` | `N/A` | +| `keys` | override Vault keys (map type) | `false` | `vault key` | + diff --git a/versioned_docs/version-1.0/usage/plugins/tutorials/_category_.json b/versioned_docs/version-1.0/usage/plugins/tutorials/_category_.json new file mode 100644 index 0000000..e832f79 --- /dev/null +++ b/versioned_docs/version-1.0/usage/plugins/tutorials/_category_.json @@ -0,0 +1,12 @@ +{ + "label": "Tutorials", + "position": 2, + "link": { + "type": "generated-index", + "description": "A Vela cluster is deployed as a self-hosted solution and consists of two core services, the server and the worker. The relationship between these services is considered many-to-many meaning many workers can connect to many servers. + +The server is considered the brains of the application while the worker is considered the brawn of the application. + +An optional third service, the UI, can also be deployed but is not required for the Vela platform to operate as intended. This service provides a means for utilizing and interacting with the Vela platform." + } +} diff --git a/versioned_docs/version-1.0/usage/plugins/tutorials/bash.md b/versioned_docs/version-1.0/usage/plugins/tutorials/bash.md new file mode 100644 index 0000000..940486c --- /dev/null +++ b/versioned_docs/version-1.0/usage/plugins/tutorials/bash.md @@ -0,0 +1,113 @@ +--- +title: "Bash" +linkTitle: "Bash" +description: > + Learn how to write a Vela plugin with Bash. +--- + +:::warning +We recommend reviewing [Docker's best practices](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/) before attempting to create a custom plugin. + +We recommend that all plugins be placed inside a [scratch image](https://hub.docker.com/_/scratch). +::: + +## Overview + +From [Bash documentation](https://www.gnu.org/software/bash/): + +> Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). +> +> It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification. + +## Code + +To create a plugin using Bash, we'll need to first decide what task we want this plugin to accomplish. + +For this example, we're going to create a script that runs a `curl` command from the provided input: + +```sh +#!/usr/bin/env bash + +# import method parameter from environment +method=${PARAMETER_METHOD} +# import body parameter from environment +body=${PARAMETER_BODY} +# import url parameter from environment +url=${PARAMETER_URL} + +# send curl request from provided input +curl \ + -X "${method}" \ + -d "${body}" \ + "${url}" +``` + +:::tip +An example of this code is provided in the [bash section](https://github.com/go-vela/vela-tutorials/tree/main/plugins/bash) of the [go-vela/vela-tutorials](https://github.com/go-vela/vela-tutorials/tree/main/plugins) repository. +::: + +## Image + +Once we have the executable needed to accomplish our plugin's task, we need to create a Dockerfile to produce an image. + +This image should contain the script and be setup to run that script when the plugin is executed: + +```docker +FROM alpine + +RUN apk add --update --no-cache bash ca-certificates curl + +COPY vela-sample.sh /bin/vela-sample.sh + +ENTRYPOINT ["bash", "/bin/vela-sample.sh"] +``` + +:::tip +An example of this image is provided in the [target/vela-sample](https://hub.docker.com/r/target/vela-sample) Docker repository. +::: + +## Publishing + +In order to run the plugin in a pipeline, we'll need to make sure we build and publish it to a Docker registry: + +```sh +# build the image +docker build -t target/vela-sample:bash . + +# publish the image +docker push target/vela-sample:bash +``` + +:::info +This has the added benefit of enabling others in the community to consume your plugin! +::: + +## Troubleshooting + +To verify that the plugin performs the desired task, it can be executed locally via the command line: + +```sh +docker run --rm \ + -e PARAMETER_BODY="This is a sample Vela plugin written with Bash" \ + -e PARAMETER_METHOD="POST" \ + -e PARAMETER_URL="http://vela.localhost.com" \ + target/vela-sample:bash +``` + +## Usage + +After publishing the image to a Docker registry, it can be referenced in a pipeline: + +```yaml +version: "1" + +steps: + - name: sample bash plugin + image: target/vela-sample:bash + pull: always + parameters: + url: http://vela.localhost.com + method: POST + body: | + This is a sample Vela plugin written with Bash +``` \ No newline at end of file diff --git a/versioned_docs/version-1.0/usage/quickstart.md b/versioned_docs/version-1.0/usage/quickstart.md new file mode 100644 index 0000000..017c187 --- /dev/null +++ b/versioned_docs/version-1.0/usage/quickstart.md @@ -0,0 +1,149 @@ +--- +sidebar_position: 1 +--- + +# Quickstart + +## Step 1 - Enable a Repo + +:::warning +You will need **Admin** access to the repo to be able to activate it in Vela. This is because you need **Admin** access to be able to add webhooks +to the repo. +::: + +For this example, we'll go over using the UI to add the repo. You can always head over to the [CLI docs](/docs/reference/cli/repo/add.md) for docs on how to add a repo via CLI. + +1. Log into your Vela instance. +1. Click "Add Repositories". +1. Select the Org from the available list. +1. Click "Add" next to the repo you would like to add. + 1. Alternatively you can "Add All" repos in an org. + 1. If your repo doesn't exist, try clicking "Refresh List" in the top right. + +Your repo now has the necessary web hook to Vela. + +:::info +If you're coming from another CI platform you can set a starting build number by updating the counter field on the repo via the UI, [CLI](/docs/reference/cli/repo/), or [API](/docs/reference/api/repo/). +::: + +## Step 2 - Build a Pipeline + +A steps pipeline is designed to run a sequential set of tasks.These pipelines do not have a minimum defined length and steps will always execute in the order defined. + +In this pipeline each step is shown with the minimum required YAML keys to execute a step. Both steps are pulling a [Alpine Linux](https://alpinelinux.org/) image from [Docker Hub](https://hub.docker.com/) and executing echo statements. + +```yaml +version: "1" + +# In this pipeline, commands are executed inside the container as the Entrypoint. +# If any command returns a non-zero exit code, the pipeline fails and exits. +steps: + + - name: Greeting + image: alpine + commands: + - echo "Hello, World" + + - name: Welcome + image: alpine + commands: + - echo "Welcome to the Vela docs" +``` +**See it in action with examples!** + +* [Go](/docs/usage/examples/go_modules/) +* [Rust](/docs/usage/examples/rust_cargo/) +* [Gradle](/docs/usage/examples/java_gradle/) +* [Maven](/docs/usage/examples/java_maven/) +* [Node](/docs/usage/examples/node/) + +## Step 3 - Customize the Pipeline with Rulesets + +The ruleset allows you to provide conditions to limit the execution of the container. + +When you push your code to a source control management system a payload is sent to Vela. + +Within that payload contains characteristics about what just happened. Maybe it was a push to the main branch, feature branch or tag on any specific commit. + +The ruleset key gives you the ability to add conditions on the step to tell Vela when this step should be executed. + +```yaml +- name: Welcome + # This ruleset would scope the step to only executing + # under the conditions a push to the main branch occurred + ruleset: + event: push + branch: main + image: alpine + commands: + - echo "Welcome to the Vela docs" +``` + +```yaml +- name: Welcome + # This ruleset would scope the step to never executing + # under the conditions a push to the main branch occurred + ruleset: + unless: + event: push + branch: main + image: alpine + commands: + - echo "Welcome to the Vela docs" +``` +## Step 4 - Select Your Plugins + +A plugin is a Docker container that is designed to perform a set of pre-defined actions. + +These actions can be for any number of general tasks, deploying code, publishing artifacts and more. + +Anyone can create a plugin and use it in their pipeline. + +The registry of existing plugins can be found on this site in the [plugins](/docs/plugins/registry/) tab. + +Within the parameters block, keys are injected as upper case environment variables with the pattern of `PARAMETER_`. + +**Expand your knowledge with an example!** + +* [Working with Plugins](/docs/usage/plugin/) + + + +```yaml +steps: + + - name: publish hello world + image: target/vela-kaniko + # Environment variables injected: + # PARAMETER_REGISTRY=index.docker.io + # PARAMETER_REPO=index.docker.io/go-vela/hello-world + # PARAMETER_USERNAME=moby + # PARAMETER_PASSWORD=mypassword + # PARAMETER_TAGS=latest,v1.0.0 + parameters: + registry: index.docker.io + repo: index.docker.io/go-vela/hello-world + username: moby + password: mypassword + tags: + - latest + - v1.0.0 +``` +## Step 5 - Trigger the Pipeline + +If you've followed the documentation for [enabling a repo](/docs/usage/enable_repo/) and wrote a pipeline ([here are some example pipelines](/docs/usage/examples/)), all that should be left is to push your pipeline to your repo. + +If a build does not trigger when your push a change to your repo, check the webhook response to see if there is an error. + +:::tip +Want to run it locally? Install the CLI and "exec" the pipline from your terminal +::: + +```sh +$ vela exec pipeline +... +[stage: ][step: Greeting] $ echo "Hello, World" +[stage: ][step: Greeting] Hello, World +[stage: ][step: Welcome] $ echo "Welcome to the Vela docs" +[stage: ][step: Welcome] Welcome to the Vela docs +``` diff --git a/versioned_docs/version-1.1/installation/_category_.json b/versioned_docs/version-1.1/installation/_category_.json new file mode 100644 index 0000000..8f26407 --- /dev/null +++ b/versioned_docs/version-1.1/installation/_category_.json @@ -0,0 +1,12 @@ +{ + "label": "Installation", + "position": 1, + "link": { + "type": "generated-index", + "description": "A Vela cluster is deployed as a self-hosted solution and consists of two core services, the server and the worker. The relationship between these services is considered many-to-many meaning many workers can connect to many servers. + +The server is considered the brains of the application while the worker is considered the brawn of the application. + +An optional third service, the UI, can also be deployed but is not required for the Vela platform to operate as intended. This service provides a means for utilizing and interacting with the Vela platform." + } +} diff --git a/versioned_docs/version-1.1/installation/install-vela.md b/versioned_docs/version-1.1/installation/install-vela.md new file mode 100644 index 0000000..f574215 --- /dev/null +++ b/versioned_docs/version-1.1/installation/install-vela.md @@ -0,0 +1,106 @@ +--- +sidebar_position: 1 +--- + +# Install Vela + +## macOS + +### Homebrew + +```js +# add Vela tap to your brew configuration +brew tap go-vela/vela + +# update your taps +brew update + +# install Vela CLI +brew install vela +``` + +### cURL + +```js +# download the binary +curl -L https://github.com/go-vela/cli/releases/latest/download/vela_darwin_amd64.tar.gz | tar zx + +# copy binary to $PATH +sudo cp vela /usr/local/bin/ +``` + +## Linux + +### cURL + +```js +# download the binary +curl -L https://github.com/go-vela/cli/releases/latest/download/vela_darwin_amd64.tar.gz | tar zx + +# copy binary to $PATH +sudo cp vela /usr/local/bin/ +``` + +## Windows + +### Command Prompt + +```js +# download the binary +curl -L https://github.com/go-vela/cli/releases/latest/download/vela_windows_amd64.tar.gz --output vela_windows_amd64.tar.gz + +# unzip the tarball +tar xzvf vela_windows_amd64.tar.gz + +# copy binary to $PATH +copy vela C:\Windows\System32/vela.exe +``` + +### Windows PowerShell + +```js +# download the binary +curl https://github.com/go-vela/cli/releases/latest/download/vela_windows_amd64.tar.gz -OutFile vela_windows_amd64.tar.gz + +# unzip the tarball +tar xzvf vela_windows_amd64.tar.gz + +# copy binary to $PATH +cp vela C:\Windows\System32/vela.exe +``` + +### PowerShell 6 (PowerShell Core) + +```js +# download the binary +curl https://github.com/go-vela/cli/releases/latest/download/vela_windows_amd64.tar.gz -OutFile vela_windows_amd64.tar.gz + +# unzip the tarball +tar xzvf vela_windows_amd64.tar.gz + +# copy binary to $PATH +cp vela C:\Windows\System32/vela.exe +``` + +### Source + +:::warning + +This method is intended for developers and advanced users only. + +Golang is required before continuing. To install and setup Golang, please review [installation documentation](https://golang.org/doc/install) +::: + +```js +# download the repo +go get -d github.com/go-vela/cli + +# change to the cli directory +cd ${GOPATH}/src/github.com/go-vela/cli + +# build a release binary with Go +go build -o releases/vela + +# copy binary to $PATH +sudo cp releases/vela /usr/local/bin/ +``` \ No newline at end of file diff --git a/versioned_docs/version-1.1/installation/server/docker.md b/versioned_docs/version-1.1/installation/server/docker.md new file mode 100644 index 0000000..542d426 --- /dev/null +++ b/versioned_docs/version-1.1/installation/server/docker.md @@ -0,0 +1,157 @@ +--- +sidebar_position: 2 +--- + +# Docker + +## Prerequisites + +This section provides all required dependencies to install and start the server with Docker. + +### Dependency 1: Docker + +[Docker](https://docker.com/) will be used for downloading the server and managing the lifecycle of the application. + +You can refer to [Docker's official documentation](https://docs.docker.com/get-docker/) on installing and configuring the service. + +### Dependency 2: Redis + +[Redis](https://redis.io/) will be used for storing workloads, created by the server, that will run on a [worker](/docs/installation/worker/). + +You can refer to [Redis's official documentation](https://redis.io/topics/quickstart/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the server with Docker. + +:::info +This example only shows a subset of all possible configuration options. +::: + +### Step 1: Download the Image + +Download the [Docker image](https://docs.docker.com/get-started/overview/#images) for the Vela server from [DockerHub](https://hub.docker.com/). + +You can use the [`docker pull` command](https://docs.docker.com/engine/reference/commandline/pull/) to download the image: + +```shell +$ docker pull target/vela-server:latest +``` + +:::info +The `latest` tag will ensure you install the most-recent version of the Vela server. + +To see the full list of available versions, please refer to [the official registry](https://hub.docker.com/r/target/vela-server). +::: + +### Step 2: Create an Encryption Key + +Create an [Advanced Encryption Standard (AES)](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) key used for encrypting sensitive data at rest in the database. + +You can use the [`openssl` command](https://www.openssl.org/) to generate the AES key: + +```shell +$ openssl aes-128-cbc -k secret -P -md sha1 +``` + +:::info +This command will output multiple key/value pairs for the AES key. + +The specific value we need from the output is the line with `key` in it (i.e. `key=`). +::: + +### Step 3: Create a Shared Secret + +:::info +Skip this step if you are utilizing the [worker registration auth flow](/docs/installation/worker/docker/#worker-registration-and-auth-refresh) +::: + +Create a shared secret used for authenticating communication between workers and the server. + +You can use the [`openssl` command](https://www.openssl.org/) to generate the shared secret: + +```shell +$ openssl rand -hex 16 +``` + +### Step 4: Create the private key + +Create a private key used for minting and validating user, worker auth, and build JWT tokens. + +You can also use the [`openssl` command](https://www.openssl.org/) to generate the key. + +```shell +$ openssl rand -hex 16 +``` + +### Step 5: Create the signing key pair + +Create a key pair (ed25519) used for signing queue items. Items are signed via private key and opened via public key in the server and worker, respectively. The key pair must be base64 encoded prior to being supplied to the server. The server distributes the public key to registered workers, therefore both keys must be provided to the server. + +To make it easier, you can use this [Go Playground program](https://go.dev/play/p/-go_7SnJbnP) to generate an encoded key pair that is ready to use. For security we recommend running the program locally. + +:::info +The private key is used to sign items in the server. +The public key is used to open items in the worker. +Both keys are provided to the server. +::: + +### Step 6: Create an OAuth Application + +Vela requires OAuth application credentials from a source control management (SCM) provider. + +These credentials are used to authenticate and authorize actions preformed within the platform. + +Vela has support for many Source Control Management (SCM) providers to enable the preferences of you and your team. + +You can follow the [SCM reference](/docs/installation/server/reference/scm/) for instructions on creating the OAuth application. + +### Step 7: Start the Server + +Start the Vela server as a [Docker container](https://docs.docker.com/get-started/overview/#containers) that is configured via environment variables. + +You can use the [`docker run` command](https://docs.docker.com/engine/reference/commandline/run/) to start the server: +```shell +$ docker run \ + --detach=true \ + --env=VELA_ADDR=https://vela-server.example.com \ + --env=VELA_DATABASE_ENCRYPTION_KEY= \ + --env=VELA_QUEUE_DRIVER=redis \ + --env=VELA_QUEUE_ADDR=redis://@:/ \ + --env=VELA_QUEUE_PRIVATE_KEY= \ + --env=VELA_QUEUE_PUBLIC_KEY= \ + --env=VELA_PORT=443 \ + --env=VELA_SERVER_PRIVATE_KEY= \ + --env=VELA_SCM_CLIENT= \ + --env=VELA_SCM_SECRET= \ + --env=VELA_WEBUI_ADDR=https://vela.example.com \ + --name=server \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + target/vela-server:latest +``` + +:::info +If using the [server-worker trusted symmetric auth method](/docs/installation/worker/docker/#worker-server-trusted-symmetric-token), be sure to add the `VELA_SECRET` env variable: +```shell + --env=VELA_SECRET= +``` +For a full list of configuration options, please see the [server reference](/docs/installation/server/reference/). +::: + +### Step 8: Verify the Server Logs + +Ensure the server started up successfully and is running as expected by viewing the logs. + +You can use the [`docker logs` command](https://docs.docker.com/engine/reference/commandline/logs/) to inspect the logs: + +```shell +$ docker logs server +``` + +### Step 9: Install Workers + +After the server is up and running, you need to install workers to run workloads. + +Please refer to [the worker installation docs](/docs/installation/worker/) for more information. \ No newline at end of file diff --git a/versioned_docs/version-1.1/installation/server/kubernetes.md b/versioned_docs/version-1.1/installation/server/kubernetes.md new file mode 100644 index 0000000..2eac8ff --- /dev/null +++ b/versioned_docs/version-1.1/installation/server/kubernetes.md @@ -0,0 +1,31 @@ +--- +sidebar_position: 3 +--- + +# Kubernetes + +## Prerequisites + +This section provides all required dependencies to install and start the server with Kubernetes. + +### Dependency 1: Kubernetes + +[Kubernetes](https://kubernetes.io/) will be used for downloading the server and managing the lifecycle of the application. + +You can refer to [Kubernetes' official documentation](https://kubernetes.io/docs/setup/) on installing and configuring the service. + +### Dependency 2: Redis + +[Redis](https://redis.io/) will be used for storing workloads, created by the server, that will run on a [worker](/docs/installation/worker/worker.md). + +You can refer to [Redis's official documentation](https://redis.io/topics/quickstart/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the server with Kubernetes. + +This example only shows a subset of all possible configuration options. + +### Step 1: TODO + +TODO \ No newline at end of file diff --git a/versioned_docs/version-1.1/installation/server/server.md b/versioned_docs/version-1.1/installation/server/server.md new file mode 100644 index 0000000..f84b38e --- /dev/null +++ b/versioned_docs/version-1.1/installation/server/server.md @@ -0,0 +1,31 @@ +--- +sidebar_position: 1 +--- +# Server + +Known as the brains of the Vela application, this service is responsible for managing the state of application resources. + +This includes managing resources in the system (repositories, users etc.) and storing resource data in the database. + +Additionally, the server responds to event-driven requests (webhooks) which creates new builds to run on a [worker](/docs/installation/worker/worker.md). + +After a build is created, it is pushed to the queue which will be retrieved and executed by a worker. + +As a build is run by a worker, it will send requests to the server's API which stores the state of the build in the database. + +![Build Workflow](/img/build_workflow.png) + +## Deployment Guides + +Vela supports a number of deployment strategies to enable the preferences of you and your team. + +This section provides a list of comprehensive guides to install and start the server: + +### Docker + +From the [Docker official website](https://docker.io/): + +> Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle. + +Please refer to [our Docker deployment guide](/docs/installation/server/docker.md) to get started. + diff --git a/versioned_docs/version-1.1/installation/ui/docker.md b/versioned_docs/version-1.1/installation/ui/docker.md new file mode 100644 index 0000000..34ede85 --- /dev/null +++ b/versioned_docs/version-1.1/installation/ui/docker.md @@ -0,0 +1,68 @@ +--- +sidebar_position: 2 +--- + +# Docker + +## Prerequisites + +This section provides all required dependencies to install and start the UI with Docker. + +### Dependency 1: Docker + +[Docker](https://docs.docker.com/) will be used for downloading the UI and managing the lifecycle of the application. + +You can refer to [Docker's official documentation](https://docs.docker.com/get-docker/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the UI with Docker. + +This example only shows a subset of all possible configuration options. + +### Step 1: Download the Image + +Download the [Docker image](https://docs.docker.com/get-started/overview/#images) for the Vela UI from [DockerHub](https://hub.docker.com/). + +You can use the [`docker pull` command](https://docs.docker.com/engine/reference/commandline/pull/) to download the image: + +```shell +$ docker pull target/vela-ui:latest +``` + +:::info +The `latest` tag will ensure you install the most-recent version of the Vela UI. + +To see the full list of available versions, please refer to [the official registry](https://hub.docker.com/r/target/vela-ui). +::: + +### Step 2: Start the UI + +Start the Vela UI as a [Docker container](https://docs.docker.com/get-started/overview/#containers) that is configured via environment variables. + +You can use the [`docker run` command](https://docs.docker.com/engine/reference/commandline/run/) to start the worker: + +```shell +$ docker run \ + --detach=true \ + --env=VELA_API=https://vela-server.example.com \ + --name=ui \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + target/vela-ui:latest +``` + +:::info +For a full list of configuration options, please see the [UI reference](/docs/installation/ui/reference/). +::: + +### Step 3: Verify the UI Logs + +Ensure the UI started up successfully and is running as expected by inspecting the logs. + +You can use the [`docker logs` command](https://docs.docker.com/engine/reference/commandline/logs/) to verify the logs: + +```shell +$ docker logs ui +``` \ No newline at end of file diff --git a/versioned_docs/version-1.1/installation/ui/kubernetes.md b/versioned_docs/version-1.1/installation/ui/kubernetes.md new file mode 100644 index 0000000..4758635 --- /dev/null +++ b/versioned_docs/version-1.1/installation/ui/kubernetes.md @@ -0,0 +1,24 @@ +--- +sidebar_position: 3 +--- +# Kubernetes + +## Prerequisites + +This section provides all required dependencies to install and start the UI with Kubernetes. + +### Dependency 1: Kubernetes + +[Kubernetes](https://kubernetes.io/) will be used for downloading the UI and managing the lifecycle of the application. + +You can refer to [Kubernetes' official documentation](https://kubernetes.io/docs/setup/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the UI with Kubernetes. + +This example only shows a subset of all possible configuration options. + +### Step 1: TODO + +TODO \ No newline at end of file diff --git a/versioned_docs/version-1.1/installation/ui/ui.md b/versioned_docs/version-1.1/installation/ui/ui.md new file mode 100644 index 0000000..13e9413 --- /dev/null +++ b/versioned_docs/version-1.1/installation/ui/ui.md @@ -0,0 +1,34 @@ +--- +sidebar_position: 1 +--- +# UI + +Known as the user interface for the Vela application, often referred to as the Vela UI, this service provides a means for utilizing and interacting with the Vela platform. + +The Vela UI aims to provide users with an easy-to-use toolbox that supplies most of the functionality necessary for managing, investigating, and successfully troubleshooting Vela pipelines. + +This array of functionality includes viewing and managing resources in the system, enabling repositories, compiling pipelines, viewing logs etc. Most of these actions are performed through interacting with the server API on the user's behalf. + +The UI also offers a quick glance into additional pipeline information, including any errors that might be interfering with the success of your pipeline, such as webhook processing issues returned by the SCM or user pipeline syntax mistakes. The purpose of the UI is to make managing and debugging Vela pipelines not only possible, but approachable. + +## Deployment Guides + +Vela supports a number of deployment strategies to enable the preferences of you and your team. + +This section provides a list of comprehensive guides to install and start the UI: + +### Docker + +From the [Docker official website](https://docker.io/): + +> Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle. + +Please refer to [our Docker deployment guide](/docs/installation/ui/docker/) to get started. + +### Kubernetes + +From the [Kubernetes official website](https://kubernetes.io/): + +> Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. + +Please refer to [our Kubernetes deployment guide](/docs/installation/ui/kubernetes/) to get started. \ No newline at end of file diff --git a/versioned_docs/version-1.1/installation/worker/docker.md b/versioned_docs/version-1.1/installation/worker/docker.md new file mode 100644 index 0000000..fa6e2a4 --- /dev/null +++ b/versioned_docs/version-1.1/installation/worker/docker.md @@ -0,0 +1,121 @@ +--- +sidebar_position: 2 +--- + +# Docker + +## Prerequisites + +This section provides all required dependencies to install and start the worker with Docker. + +### Dependency 1: Docker + +[Docker](https://docs.docker.com/) will be used for downloading the worker and managing the lifecycle of the application. + +You can refer to [Docker's official documentation](https://docs.docker.com/get-docker/) on installing and configuring the service. + +### Dependency 2: Redis + +[Redis](https://redis.io/) will be used for storing workloads, created by the [server](/docs/installation/server/server.md), that will be run by a worker. + +You can refer to [Redis's official documentation](https://redis.io/topics/quickstart/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the worker with Docker. + +This example only shows a subset of all possible configuration options. + +### Step 1: Download the Image + +Download the [Docker image](https://docs.docker.com/get-started/overview/#images) for the Vela worker from [DockerHub](https://hub.docker.com/). + +You can use the [`docker pull` command](https://docs.docker.com/engine/reference/commandline/pull/) to download the image: + +```shell +$ docker pull target/vela-worker:latest +``` + +:::info +The `latest` tag will ensure you install the most-recent version of the Vela worker. + +To see the full list of available versions, please refer to [the official registry](https://hub.docker.com/r/target/vela-worker). +::: + +### Step 2: Determine Worker Authentication and Start Worker + +Currently, Vela supports two methods of maintaining authentication between the worker and the server. + +Take care to read through both options to determine which setup makes the most sense for your installation: + +##### Worker-Server Trusted Symmetric Token + +This authentication method involves using the same secret generated as the `VELA_SECRET` during the [server installation](/docs/installation/server/docker/#step-3-create-a-shared-secret) as the bearer token for all API requests related to check-in and build tokens from the worker to the server. + +The token is non-expiring and exists within the container environment. Once the server is running, all that is necessary for a worker to connect to the server and pull builds from the queue is simply starting the worker container: + +```shell +$ docker run \ + --detach=true \ + --env=VELA_QUEUE_DRIVER=redis \ + --env=VELA_SERVER_ADDR=https://vela-server.example.com \ + --env=VELA_SERVER_SECRET= \ + --env=VELA_WORKER_ADDR=https://vela-worker.example.com \ + --name=worker \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + --volume=/var/run/docker.sock:/var/run/docker.sock \ + target/vela-worker:latest +``` + +The worker must still pass its check-in with the server in order to pull builds from the queue. + +##### Worker Registration and Auth Refresh + +This authentication method is the more secure of the two options. Rather than using a non-expiring token in the container environment, platform administrators can register workers using their credentials via the Vela CLI. In order to leverage this method, simply do NOT supply the [`VELA_SECRET`](/docs/installation/server/reference/#vela_secret) to the server and do NOT supply the [`VELA_SERVER_SECRET`](/docs/installation/worker/reference/#vela_server_secret) to the worker. + +To start, launch the worker container: + +```shell +$ docker run \ + --detach=true \ + --env=VELA_QUEUE_DRIVER=redis \ + --env=VELA_SERVER_ADDR=https://vela-server.example.com \ + --env=VELA_WORKER_ADDR=https://vela-worker.example.com \ + --name=worker \ + --publish=80:80 \ + --publish=443:443 \ + --restart=always \ + --volume=/var/run/docker.sock:/var/run/docker.sock \ + target/vela-worker:latest +``` + +Once the worker has started, it will be in a paused state until a platform admin registers the worker: + +```shell +$ vela login --api.addr https://vela-server.example.com + +$ vela add worker --worker.hostname vela-worker --worker.address https://vela-worker.example.com + +worker registered successfully +``` + +This process involves the generation of a registration token, which can only be done by platform admins. The quickly expiring registration token is then passed to the worker using an http request to the worker's `/register` endpoint. The worker exchanges this registration token with the server for an auth token. + +:::info +IMPORTANT: When using this method, ensure that the [`VELA_WORKER_AUTH_TOKEN_DURATION`](/docs/installation/server/reference/#vela_worker_auth_token_duration) configured in the server is _longer_ than the [`VELA_CHECK_IN`](/docs/installation/worker/reference/#vela_check_in) configured in the worker. This ensures that all requests made by the worker are done with a valid token, refreshed at each check-in. +::: + +Once registered, the worker will continue refreshing its authentication token at the specified check in interval. Workers that lose their connection to the server for long enough for their existing auth +token to expire will need to be re-registered. + +### Step 3: Verify the Worker Logs + +Ensure the worker started up successfully and is running as expected by inspecting the logs. + +You can use the [`docker logs` command](https://docs.docker.com/engine/reference/commandline/logs/) to verify the logs: + +```shell +$ docker logs worker +``` diff --git a/versioned_docs/version-1.1/installation/worker/kubernetes.md b/versioned_docs/version-1.1/installation/worker/kubernetes.md new file mode 100644 index 0000000..df4cee7 --- /dev/null +++ b/versioned_docs/version-1.1/installation/worker/kubernetes.md @@ -0,0 +1,266 @@ +--- +sidebar_position: 3 +--- +# Kubernetes + +## Prerequisites + +This section provides all required dependencies to install and start the worker with Kubernetes. + +### Dependency 1: Kubernetes + +[Kubernetes](https://kubernetes.io/) will be used for downloading the worker and managing the lifecycle of the application. + +You can refer to [Kubernetes' official documentation](https://kubernetes.io/docs/setup/) on installing and configuring the service. + +### Dependency 2: Redis + +[Redis](https://redis.io/) will be used for storing workloads, created by the [server](/docs/installation/worker/worker.md), that will be run by a worker. + +You can refer to [Redis's official documentation](https://redis.io/topics/quickstart/) on installing and configuring the service. + +## Installation + +This section provides an example of installing the worker with Kubernetes. + +This example only shows a subset of all possible configuration options. + +### Step 1: Create a Worker Secret and ConfigMap + +You will need to store some env vars in a `Secret`, and the rest can go in a `ConfigMap`. + +:::info +Determine which worker auth method to use for worker-server communication before writing the `ConfigMap`. Details of the two offerings can be found [here](/docs/installation/worker/docker/#step-2-determine-worker-authentication-and-start-worker). +::: + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: vela-worker + namespace: default +data: + # these values are base64 encoded + + # this value should only be specified if using the server-worker trusted symmetric token auth method. + VELA_SERVER_SECRET: PHNoYXJlZC1zZWNyZXQ+ + # VELA_SERVER_SECRET: +``` + +Do not store any passwords in the `ConfigMap`. The `ConfigMap` is more convenient for everything else. + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: vela-worker + namespace: default +data: + # This might be "http://vela-server:8080" if vela-server is also deployed in k8s. + VELA_SERVER_ADDR: https://vela-server.example.com + + VELA_QUEUE_DRIVER: redis + + VELA_EXECUTOR_DRIVER: linux + + VELA_RUNTIME_DRIVER: kubernetes + VELA_RUNTIME_NAMESPACE: default + VELA_RUNTIME_PODS_TEMPLATE_NAME: pipeline-pods-template + + # do not define VELA_WORKER_ADDR here. See "Create a Worker Deployment" below. + + # VELA_RUNTIME_CONFIG is not needed in-cluster. + # We'll use the auto-mounted ServiceAccount Token. +``` + +And then load them in your cluster. + +```shell +$ kubectl apply -f worker-secret.yaml +$ kubectl apply -f worker-configmap.yaml +``` + +:::info +For a full list of configuration options, please see the [worker reference](/docs/installation/worker/reference/). +::: + + +### Step 2: Load the Pipeline Pods Template CRD + +Download Vela's "Pipeline Pods Template" Custom Resource Definition (CRD). +Be sure to replace `v0.14.0` with the version you're installing. + +```shell +$ curl https://raw.githubusercontent.com/go-vela/worker/v0.14.0/runtime/kubernetes/generated/go-vela.github.io_pipelinepodstemplates.yaml -o go-vela.github.io_pipelinepodstemplates.yaml +``` + +And then add the CRD to your cluster. + +```shell +$ kubectl apply -f go-vela.github.io_pipelinepodstemplates.yaml +``` + +### Step 3: Create a Pipeline Pods Template + +The Pipeline Pods Template allows you to define `annotations`, `securityContext`, `dnsConfig` +and other settings that the worker should add to every Pipeline's `Pod`. + +```yaml +apiVersion: go-vela.github.io/v1alpha1 +kind: PipelinePodsTemplate +metadata: + name: pipeline-pods-template # this should match VELA_RUNTIME_PODS_TEMPLATE_NAME + namespace: default +spec: + # spec.template is a subset of what is possible to define in a Deployment's "spec.template". + template: + + metadata: + # custom annotations to add to all pipeline pods + annotations: + example.com/owner: devops + #labels: + + #spec: + # dnsConfig: {} + # dnsPolicy: ClusterFirst + + # nodeSelector: {} + # tolerations: [] + # affinity: {} + + # # These gets applied to all containers in the Pipeline Pod. + # container: + # securityContext: + # capabilities: + # drop: ["ALL"] + # add: [] +``` + +And then your `PipelinePodsTemplate` to your cluster. + +```shell +$ kubectl apply -f pipeline-pods-template.yaml +``` + +### Step 5: Create a ServiceAccount, Role, and RoleBinding + +The Worker needs access to Kubernetes APIs. It uses an auto-mounted ServiceAcount token to do this. + +Here is a ServiceAccount: +```yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: vela-worker + namespace: default +``` + +Here's the Role you'll need: +```yaml +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: vela-worker + namespace: default +rules: + - apiGroups: [""] + resources: [pods/log] + verbs: [get, list, watch] + - apiGroups: [""] + resources: [pods] + verbs: [create, patch, get, list, update, watch, delete] + - apiGroups: ["go-vela.github.io"] + resources: [pipelinepodstemplate] + verbs: [get, list, watch] +``` + +And use this RoleBinding: +```yaml +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: vela-worker + namespace: default +subjects: + - kind: ServiceAccount + name: vela-worker + namespace: default +roleRef: + kind: Role + name: vela-worker + apiGroup: rbac.authorization.k8s.io +``` + +Then apply each of these to your cluster: + +```shell +$ kubectl apply -f worker-serviceaccount.yaml +$ kubectl apply -f worker-role.yaml +$ kubectl apply -f worker-role-binding.yaml +``` + +### Step 5: Create a Worker Deployment + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: vela-worker + namespace: default + labels: + app.kubernetes.io/name: vela-worker +spec: + replicas: 1 # Increase this to deploy more worker pods. + selector: + matchLabels: + app.kubernetes.io/name: vela-worker + serviceAccount: vela-worker + containers: + - name: worker + image: target/vela-worker:v0.13.0 + ports: + - {name: http, port: 8080, protocol: TCP} + livenessProbe: + httpGet: {path: /health, port: 8080, scheme: HTTP} + env: + - {name: VELA_WORKER_ADDR_SCHEME, value: http} + - {name: VELA_WORKER_ADDR_PORT, value: "8080"} + - name: VELA_WORKER_POD_NAME + valueFrom: + fieldRef: {fieldPath: metadata.name} + - name: VELA_WORKER_POD_IP + valueFrom: + fieldRef: {fieldPath: status.podIP} + # using the pod name does not get a dns entry without a lot of unnecessary effort. + # So, here we use status.podIP instead of metadata.name + - name: VELA_WORKER_ADDR + value: $(VELA_WORKER_ADDR_SCHEME)://$(WORKER_POD_IP):$(VELA_WORKER_ADDR_PORT) + envFrom: + - configMapRef: + name: vela-worker + - secretRef: + name: vela-worker +``` + +And then load it in your cluster. + +```shell +$ kubectl apply -f worker-deployment.yaml +``` + +### Step 6: Verify the Worker Deployment + +Ensure the worker started up successfully and is running as expected by inspecting details with `kubectl`. + +```shell +$ kubectl describe deployment vela-worker +$ kubectl get pods -l app.kubernetes.io/name=vela-worker +``` + +You can also check the worker logs with `stern`. The following command will tail all of the logs +for pods that start with `vela-worker-`: + +```shell +$ stern vela-worker- +``` \ No newline at end of file diff --git a/versioned_docs/version-1.1/installation/worker/worker.md b/versioned_docs/version-1.1/installation/worker/worker.md new file mode 100644 index 0000000..f9143f3 --- /dev/null +++ b/versioned_docs/version-1.1/installation/worker/worker.md @@ -0,0 +1,33 @@ +--- +sidebar_position: 1 +--- + +# Worker + +Known as the brawn of the Vela application, this service is responsible for managing the state of build resources. + +This includes pulling the build, provided by the [server](/docs/installation/server/overview.md), from the queue to be run. + +When a build is fetched from the queue, the worker will create and delete resources through the lifecycle of the build. + +During this time, the worker will send API requests to the server to report the status and progress of these resources. + +Additionally, the worker has its own API for processing web requests. + +![Build Workflow](/img/build_workflow.png) + +## Deployment Guides + +Vela supports a number of deployment strategies to enable the preferences of you and your team. + +This section provides a list of comprehensive guides to install and start the worker: + +### Docker + +From the [Docker official website](https://docker.io/): + +> Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle. + +Please refer to [our Docker deployment guide](/docs/installation/server/docker.md) to get started. + + diff --git a/versioned_docs/version-1.1/reference/_category_.json b/versioned_docs/version-1.1/reference/_category_.json new file mode 100644 index 0000000..6a91167 --- /dev/null +++ b/versioned_docs/version-1.1/reference/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Reference", + "position": 3, + "link": { + "type": "generated-index", + } +} diff --git a/versioned_docs/version-1.1/reference/api/_category_.json b/versioned_docs/version-1.1/reference/api/_category_.json new file mode 100644 index 0000000..cccf88d --- /dev/null +++ b/versioned_docs/version-1.1/reference/api/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "API", + "position": 1, + "link": {"type": "generated-index"}, +} diff --git a/versioned_docs/version-1.1/reference/api/admin/_category_.json b/versioned_docs/version-1.1/reference/api/admin/_category_.json new file mode 100644 index 0000000..e4d6677 --- /dev/null +++ b/versioned_docs/version-1.1/reference/api/admin/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Admin", + "position": 2, +"link": {"type": "generated-index"}, +} \ No newline at end of file diff --git a/versioned_docs/version-1.1/reference/api/admin/build-queue.md b/versioned_docs/version-1.1/reference/api/admin/build-queue.md new file mode 100644 index 0000000..5adda20 --- /dev/null +++ b/versioned_docs/version-1.1/reference/api/admin/build-queue.md @@ -0,0 +1,97 @@ +--- +title: "Build Queue" +linkTitle: "Build Queue" +description: > + Learn how to list all running and pending builds. +--- + +## Endpoint + +``` +GET /api/v1/admin/builds/queue +``` + +## Responses + +| Status Code | Description | +| ----------- | --------------------------------------------------- | +| `200` | indicates the request has succeeded | +| `401` | indicates the user does not have proper permissions | + +## Sample + +:::warning +This section assumes you already know how to authenticate to the API. + +To authenticate to the API, please review the [authentication documentation](/docs/reference/api/authentication/). +::: + +#### Request + +```sh +curl \ + -X GET \ + -H "Authorization: Bearer " \ + "http://127.0.0.1:8080/api/v1/admin/builds/queue" +``` + +#### Response + +```json +[ + { + "id": 2, + "repo_id": 2, + "number": 1, + "parent": 1, + "event": "push", + "status": "pending", + "error": "", + "enqueued": 1563474204, + "created": 1563474204, + "started": 1563474204, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "Second commit...", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "ed95dcc0687c", + "runtime": "", + "distribution": "" + }, + { + "id": 1, + "repo_id": 1, + "number": 1, + "parent": 1, + "event": "push", + "status": "running", + "error": "", + "enqueued": 1563474077, + "created": 1563474076, + "started": 1563474077, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "First commit...", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "82823eb770b0", + "runtime": "", + "distribution": "" + } +] +``` \ No newline at end of file diff --git a/versioned_docs/version-1.1/reference/api/admin/build.md b/versioned_docs/version-1.1/reference/api/admin/build.md new file mode 100644 index 0000000..30b0b29 --- /dev/null +++ b/versioned_docs/version-1.1/reference/api/admin/build.md @@ -0,0 +1,105 @@ +--- +title: "Build" +linkTitle: "Build" +description: > + Learn how to update a build as an admin in the system. +--- + +## Endpoint + +``` +PUT /api/v1/admin/build +``` + +## Responses + +| Status Code | Description | +| ----------- | --------------------------------------------------- | +| `200` | indicates the request has succeeded | +| `401` | indicates the user does not have proper permissions | + +## Sample + +:::warning +This section assumes you already know how to authenticate to the API. + +To authenticate to the API, please review the [authentication documentation](/docs/reference/api/authentication/). +::: + +Note: You must provide the entire build object, as this endpoint overwrites the +existing entry for the build. + +#### File + +```json +{ + "id": 1, + "repo_id": 1, + "number": 1, + "parent": 1, + "event": "push", + "status": "created", + "error": "", + "enqueued": 1563474077, + "created": 1563474076, + "started": 1563474077, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "this is an updated message", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "company.localhost", + "runtime": "docker", + "distribution": "linux" +} +``` + +#### Request + +```sh +curl \ + -X PUT \ + -H "Authorization: Bearer " \ + -H "Content-Type: application/json" \ + -d "@data.json" \ + "http://127.0.0.1:8080/api/v1/admin/build" +``` + +#### Response + +```json +{ + "id": 1, + "repo_id": 1, + "number": 1, + "parent": 1, + "event": "push", + "status": "created", + "error": "", + "enqueued": 1563474077, + "created": 1563474076, + "started": 1563474077, + "finished": 0, + "deploy": "", + "clone": "https://github.com/github/octocat.git", + "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", + "title": "push received from https://github.com/github/octocat", + "message": "this is an updated message", + "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", + "sender": "OctoKitty", + "author": "OctoKitty", + "branch": "main", + "ref": "refs/heads/main", + "base_ref": "", + "host": "company.localhost", + "runtime": "docker", + "distribution": "linux" +} +``` diff --git a/versioned_docs/version-1.1/reference/api/authentication.md b/versioned_docs/version-1.1/reference/api/authentication.md new file mode 100644 index 0000000..4d0c348 --- /dev/null +++ b/versioned_docs/version-1.1/reference/api/authentication.md @@ -0,0 +1,54 @@ +--- +title: "Authentication" +linkTitle: "Authentication" +weight: 5 +description: > + Learn how authenticating to the Vela API works. +--- + +## Overview + +Authentication for the Vela API is the responsibility of the client initiating the request. + +Each request requires a token to be provided as an `Authorization` HTTP header. + +The content of this header should be using the `Bearer ` scheme. + +```sh +Authorization: Bearer +``` + +:::tip +For more information, you can visit the [Swagger authentication documentation](https://swagger.io/docs/specification/authentication/bearer-authentication/). +::: + +## Format + +Vela tokens are based off the format of the [JSON Web Token](https://jwt.io/) (a.k.a. JWT) standard. + +The token can be broken down into 3 distinct sections, separated by periods (`.`): + +* **Header** - metadata about the type of token and the signing algorithm used +* **Payload** - data (a.k.a. claims) providing additional information +* **Signature** - encoded string based off the header, payload and secret + +```sh +# syntax +header.payload.signature + +# sample +xxxxx.yyyyy.zzzzz +``` + +:::tip +For more information, you can visit the [JWT introduction documentation](https://jwt.io/introduction/). +::: + +## Sample + +```sh +curl \ + -X GET \ + -H "Authorization: Bearer " \ + "http://127.0.0.1:8080/api/v1/users" +``` diff --git a/versioned_docs/version-1.1/reference/cli/_category_.json b/versioned_docs/version-1.1/reference/cli/_category_.json new file mode 100644 index 0000000..5569091 --- /dev/null +++ b/versioned_docs/version-1.1/reference/cli/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "CLI", + "position": 1, + "link": {"type": "generated-index"}, +} diff --git a/versioned_docs/version-1.1/reference/cli/repo/_category_.json b/versioned_docs/version-1.1/reference/cli/repo/_category_.json new file mode 100644 index 0000000..da68eb5 --- /dev/null +++ b/versioned_docs/version-1.1/reference/cli/repo/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Repo", + "position": 1, + "link": {"type": "generated-index"}, +} diff --git a/versioned_docs/version-1.1/reference/cli/repo/add.md b/versioned_docs/version-1.1/reference/cli/repo/add.md new file mode 100644 index 0000000..5404cba --- /dev/null +++ b/versioned_docs/version-1.1/reference/cli/repo/add.md @@ -0,0 +1,97 @@ +--- +title: "Add" +sidebar_position: 1 +--- + +## Command + +``` +$ vela add repo +``` + +:::info +For more information, you can run `vela add repo --help`. +::: + +## Parameters + +The following parameters are used to configure the command: + +| Name | Description | Environment Variables | +| --------------- | -------------------------------------------------- | -------------------------------------- | +| `org` | name of organization for the repository | `VELA_ORG`, `REPO_ORG` | +| `repo` | name of repository | `VELA_REPO`, `REPO_NAME` | +| `branch` | default branch for the repository | `VELA_BRANCH`, `REPO_BRANCH` | +| `link` | full URL for the repository | `VELA_LINK`, `REPO_LINK` | +| `clone` | clone URL for the repository | `VELA_CLONE`, `REPO_CLONE` | +| `visibility` | access level required to view the repository | `VELA_VISIBILITY`, `REPO_VISIBILITY` | +| `build.limit` | limit of concurrent builds allowed for repository | `VELA_BUILD_LIMIT`, `REPO_BUILD_LIMIT` | +| `timeout` | max time allowed per build | `VELA_TIMEOUT`, `REPO_TIMEOUT` | +| `counter` | set a value for a new build number | `VELA_COUNTER`, `REPO_COUNTER` | +| `private` | disables public access to the repository | `VELA_PRIVATE`, `REPO_PRIVATE` | +| `trusted` | elevates permissions for builds for the repository | `VELA_TRUSTED`, `REPO_TRUSTED` | +| `active` | enables/disables the repository | `VELA_ACTIVE`, `REPO_ACTIVE` | +| `event` | events to trigger builds for the repository | `VELA_EVENTS`, `REPO_EVENTS` | +| `pipeline-type` | type of base pipeline for the compiler to render | `VELA_PIPELINE_TYPE`, `PIPELINE_TYPE` | +| `output` | format the output for the repository | `VELA_OUTPUT`, `REPO_OUTPUT` | + +:::info +This command also supports setting the following parameters via a configuration file: + +- `org` +- `repo` +- `output` + +For more information, please review the [CLI config documentation](/docs/reference/cli/config/). +::: + +## Sample + +:::info +This section assumes you have already installed and setup the CLI. + +To install the CLI, please review the [installation documentation](/docs/reference/cli/install/). + +To setup the CLI, please review the [authentication documentation](/docs/reference/cli/authentication/). +::: + +#### Request + +```sh +$ pwd +~/github/octocat +$ vela add repo +``` + +#### Targeted Request + +```sh +$ vela add repo --org github --repo octocat +``` + +#### Response + +```sh +id: 1 +userid: 1 +org: github +name: octocat +fullname: github/octocat +link: https://github.com/github/octocat +clone: https://github.com/github/octocat.git +branch: main +buildlimit: 10 +timeout: 60 +timeout: 0 +visibility: public +private: false +trusted: false +active: true +allowpull: true +allowpush: true +allowdeploy: false +allowtag: false +allowcomment: false +allowevents: [push pull_request:opened pull_request:synchronize ] +pipelinetype: yaml +``` diff --git a/versioned_docs/version-1.1/reference/yaml/environment.md b/versioned_docs/version-1.1/reference/yaml/environment.md new file mode 100644 index 0000000..95b944d --- /dev/null +++ b/versioned_docs/version-1.1/reference/yaml/environment.md @@ -0,0 +1,16 @@ +--- +title: "Environment" +linkTitle: "Environment" +--- + +The environment key is intended to be used to inject a global environment configuration into steps, services and secret containers. Control of which container types get the injected environment settings is available via the metadata block. + +```yaml +--- +# This document is displaying using the environment key with a map syntax. +# Additionally, you can also use array syntax where the items in +# they array are of pattern HELLO="Hello, Vela!" +environment: + HELLO: "Hello, Vela!" +``` + diff --git a/versioned_docs/version-1.1/reference/yaml/yaml.md b/versioned_docs/version-1.1/reference/yaml/yaml.md new file mode 100644 index 0000000..c69e36c --- /dev/null +++ b/versioned_docs/version-1.1/reference/yaml/yaml.md @@ -0,0 +1,62 @@ +--- +title: "YAML" +linkTitle: "YAML" +--- + +Steps and Stages Pipeline use "YAML Ain’t Markup Language" (YAML) which is a data serialization language designed to be human friendly. Vela accepts YAML files with either a `.yml` or `.yaml` extension. If you'd like to learn more about the YAML language, we recommend you see, "[Learn YAML in five minutes.](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)". + +:::info +The design goals for YAML are, in decreasing priority: + +1. YAML is easily readable by humans. +2. YAML data is portable between programming languages. +3. YAML matches the native data structures of agile languages. +4. YAML has a consistent model to support generic tools. +5. YAML supports one-pass processing. +6. YAML is expressive and extensible. +7. YAML is easy to implement and use. + +See YAML [design goals](https://yaml.org/spec/1.2/spec.html#Introduction) from spec. +::: + +## Terminology Check + +Whether you are a YAML expert or a novice, here is some quick terminology that you should be aware of: + +:::info +You can get feedback directly on your `.vela.yml` or `.vela.yaml` pipelines in your IDE with the available [JSON Schema](/docs/usage/json-schema-support). +::: + +### Document + +A file ending with `.yml` or `.yaml` that contains contents following the YAML spec is called a document, see [YAML 1.2 spec for full details](https://yaml.org/spec/1.2/spec.html#id2800132). + +Example: + +```yml +--- +key: value +``` + +### Keys + +A YAML document is compose of one to many key-value pairs where the value is evaluated to an explicit type (Int, Float, string, bool, etc), see [YAML 1.2 spec for full details](https://yaml.org/spec/1.2/spec.html#id2761292). + +Example: + +```yml +--- +# an integer +canonical: 12345 + +# a float +canonical: 3.14159e+3 + +# a string +canonical: "Hello, World" + +# a bool +canonical: true +``` + + diff --git a/versioned_docs/version-1.1/usage/_category_.json b/versioned_docs/version-1.1/usage/_category_.json new file mode 100644 index 0000000..bb1bdb8 --- /dev/null +++ b/versioned_docs/version-1.1/usage/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Usage", + "position": 2, + "link": { + "type": "generated-index", + } +} diff --git a/versioned_docs/version-1.1/usage/json-schema-support.md b/versioned_docs/version-1.1/usage/json-schema-support.md new file mode 100644 index 0000000..2f730cb --- /dev/null +++ b/versioned_docs/version-1.1/usage/json-schema-support.md @@ -0,0 +1,9 @@ +--- +title: "JSON Schema Support" +sidebar_position: 3 +--- + +The schema gets published and updated via https://github.com/go-vela/types where it ends up as a release artifact. The latest schema is available for download from https://github.com/go-vela/types/releases/latest/download/schema.json. + +In addition, the schema is available in the JSON Schema Store project at https://www.schemastore.org. +[Supported editors](https://www.schemastore.org/json#editors) automatically use schemas that this project provides, including Vela's schema. diff --git a/versioned_docs/version-1.1/usage/managing-deployments.md b/versioned_docs/version-1.1/usage/managing-deployments.md new file mode 100644 index 0000000..0c55f91 --- /dev/null +++ b/versioned_docs/version-1.1/usage/managing-deployments.md @@ -0,0 +1,90 @@ +--- +sidebar_position: 4 +--- +# Managing Deployments + +Pipelines can be written with your specific branching methodology in mind but when it comes to deployments you often want to be very intentional with triggering a change. For this reason, Vela has deployments, a unique build event that is triggered directly via Vela on a specific ref (branch, SHA, tag). + +Vela leverages a deep integration with [GitHub Deployments](https://docs.github.com/en/rest/reference/repos#deployments) which will not only trigger your build but create a system of record on GitHub for your deployment action. You can leverage a deployment in your steps like: + +:::info +Make sure you have the `deployment` event enabled within repo settings + +Additionally, any secret you may need for the event must also have `deployments` allowed for events. +::: + +```yaml +# A step triggering on "all" deployment events +- name: All deployments + image: alpine + commands: + - echo "Running your deployment!" + ruleset: + event: [ deployment ] + +# A step triggering deployment to a specific target. +# Targets can be any value i.e. dev, stage, eng, prod, etc +- name: Targeted deployments + image: alpine + commands: + - echo "Running deployment for ${VELA_DEPLOYMENT}!" + ruleset: + event: [ deployment ] + target: [ dev, eng ] +``` + +## Usage + +Let us look at an example workflow for executing a deployment on your repo. You should understand the following concepts before proceeding: + +* [Steps](/docs/tour/steps/) + * [image](/docs/tour/image/) + * [Commands](/docs/tour/environment/) + * [Ruleset](/docs/tour/rulesets/) + +```yaml +version: "1" +steps: + # A step triggering on "all" deployment events + - name: All deployments + image: alpine + commands: + - echo "Running your deployment!" + ruleset: + event: [ deployment ] + + # A step triggering deployment to a specific target. + # Targets can be any value i.e. dev, stage, eng, prod, etc + - name: Targeted deployments + image: alpine + commands: + - echo "Running deployment for ${VELA_DEPLOYMENT}!" + ruleset: + event: [ deployment ] + target: [ dev, eng ] + + # Now that we know how to control a deployment, lets look + # at adding custom parameters. Sometimes not only do you need + # control of the target but you want custom data available + # when your pipeline runs. + - name: Custom parameters deployments + image: alpine + commands: + - echo "Custom parameter message, ${DEPLOYMENT_PARAMETER_MESSAGE}" + ruleset: + event: [ deployment ] + target: [ dev, eng ] +``` + +The following CLI commands will trigger the pipeline and produce different permutations of the pipeline executing: + +```sh +# Trigger deployment with no additional configuration +$ vela add deployment --org github --repo octocat + +# Trigger deployment for a repository with a specific target environment. +$ vela add deployment --org github --repo octocat --target stage + +# Add a deployment for a repository with two parameters. +$ vela add deployment --org github --repo octocat --parameter 'message=Hello, custom var!' +``` \ No newline at end of file diff --git a/versioned_docs/version-1.1/usage/plugins/plugins.md b/versioned_docs/version-1.1/usage/plugins/plugins.md new file mode 100644 index 0000000..9374264 --- /dev/null +++ b/versioned_docs/version-1.1/usage/plugins/plugins.md @@ -0,0 +1,85 @@ +--- +title: "Plugins" +sidebar_position: 2 +--- + +Vela contains two plugin types: + +* pipeline - designed to be used within steps, stages, and template pipelines +* secret - designed to be used within the secrets Yaml block of pipelines + +Both accept configuration via environment variables but should be used within their specific location of the Yaml pipeline. + +:::info +Before you begin your plugin journey we recommend the following pre-requisites: + +* [Steps](/docs/tour/steps/) +* [Stages](/docs/tour/stages/) +* [Templates](/docs/tour/templates/) +::: + +## Pipeline + +Pipeline plugins are designed to automate, customize, and execute your software development workflows. A pipeline plugin is a Docker container that is designed to perform a set of pre-defined actions. + +These actions can be for any number of general tasks, including: + +* deploying code +* publishing artifacts +* sending notifications +* much, much more... + +### Example + +The example we have shown is publishing an image to a registry. Pipeline plugins configuration works via environment variables that pass data from pipeline to the container at runtime. + +_Not a runnable pipeline_ +```diff +version: "1" + +steps: + - name: docker + image: target/vela-docker + pull: always ++ parameters: ++ registry: index.docker.io ++ repo: index.docker.io/octocat/hello-world +``` + +## Secret + +:::warning +Secret plugins are configured with an allow list of available images via an administator on installation. To know which secret plugins are available for your Vela installation, we recommend consulting your system administrators. +::: + +Secret plugins are designed to be used to read secrets in volumes within the Vela workspace. When a secret plugin runs the plugin should write data to the custom Vela mount (`/vela/secrets/`) as key/value pairs. Secret plugins configuration works via environment variables that pass data from pipeline to the container at runtime. + +A secret plugin works in tandem with the Vela workspace to read data from a provider and write them into an available location (`/vela/secrets`) within a pipeline. + +### Sample + +_Not a runnable pipeline_ +```diff +secrets: + - name: vault_token + key: go-vela/vault_token + engine: native + type: org + + - origin: + name: vault + image: target/secret-vault + pull: always + secrets: [ vault_token ] ++ parameters: ++ addr: vault.company.com ++ auth_method: token ++ username: octocat ++ items: ++ - source: secret/docker ++ path: docker +``` + +From the above example, will have written the following available secrets to: + +* `/vela/secrets/docker// **NOTE:** +> +> Users should refrain from using latest as the tag for the Docker image. +> +> It is recommended to use a semantically versioned tag instead. + +More information for ansible-lint can be found at: [ansible-lint docs](https://ansible-lint.readthedocs.io/en/latest/). \ +More information for ansible-playbook can be found at: [ansible-playbook docs](https://ansible-lint.readthedocs.io/en/latest/). + +### Sample for .vela.yml + +```yaml +steps: + - name: ansible-lint + image: target/vela-ansible:latest + parameters: + action: lint + playbook: "abox/main.yml" + lint_skip: + - no-changed-when + - key-order + + - name: ansible-playbook + image: target/vela-ansible:latest + parameters: + action: playbook + playbook: "abox/main.yml" + options_inventory: "abox/inventory/hosts.yml" + connection_user: root +``` + +## Parameters + +The following parameters are used to configure the image: + +| Parameter | Description | Required | Default | +| ----------- | -------------------------------------------------------------------------- | -------- | ------- | +| `log_level` | set the log level for the plugin (valid options: `info`, `debug`, `trace`) | true | info | +| `action ` | set plugin action (valid options: `lint`, `playbook`) | true | lint | + +> Note: `action` parameter will determine whether to run ansible-lint or ansible-playbook. The default is set to ansible-lint. + +### Ansible-Lint + +| Parameter | Description | Required | Default | +| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------- | +| `playbook` | playbook to be ran by ansible-lint | true | false | +| `lint_version` | returns ansible-lint version and exits the program. | false | false | +| `lint_list` | lists all the rules. | false | false | +| `lint_format` | format used rules output (rich,plain,rst,codeclimate,quiet,pep8) | false | rich | +| `lint_quieter` | quieter, although not silent output. | false | false | +| `lint_parseable` | parseable output in the format of pep8. | false | false | +| `lint_parseableseverity` | parseable output including severity of rule. | false | false | +| `lint_progressive` | return success if it detects a reduction in number of violations compared with previous git commit. This feature works only in git repositories. | false | false | +| `lint_projectdir` | location of project/repository, autodetected based on location of configuration file. | false | N/A | +| `lint_rule` | specify one or more rules directories. -r flag (lint_rule) overrides the default rules in /path/to/ansible-lint/lib/ansiblelint/rules, unless -R (lint_rulesdefault) is also used. | false | N/A | +| `lint_rulesdefault` | use default rules in /path/to/ansible-lint/lib/ansiblelint/rules in addition to any extra rules directories specified with -r (lint_rule). There is no need to specify this if no -r (lint_rule) flag/s is/are used. | false | false | +| `lint_showrelativepath` | display path relative to CWD. | false | false | +| `lint_tags` | only check rules whose id/tags match these values. | false | N/A | +| `lint_tagslist` | list all the tags. | false | false | +| `lint_verbose` | increase verbosity level. | false | false | +| `lint_skip` | only check rules whose id/tags does not match these values. | false | N/A | +| `lint_warn` | only warn about these rules, unless overridden in config file defaults to 'experimental' | false | experimental | +| `lint_enable` | activate optional rules by their tag name | false | N/A | +| `lint_nocolor` | disable colored output. | false | false | +| `lint_forcecolor` | try force colored output. | false | false | +| `lint_exclude` | path to directories or files to skip. | false | N/A | +| `lint_config` | specify a configuration file to use. | false | .ansible-lint | +| `lint_offline` | disable installation of requirements.yml | false | false | + +### Ansible-Playbook + +| Parameter | Description | Required | Default | +| ---------- | --------------------------------------- | -------- | ------- | +| `playbook` | playbook to be ran by ansible-playbook. | true | N/A | + +### ansible-playbook options + +| Parameter | Description | Required | Default | +| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------------------------------------------------------------- | +| `options_askvaultpass` | ask for vault password. | false | false | +| `options_flushcache` | clear the fact cache for every host in inventory. | false | false | +| `options_forcehandlers` | run handlers even if a task fails. | false | false | +| `options_listhosts` | outputs a list of matching hosts and exits program. | false | false | +| `options_listtags` | list all available tags | false | false | +| `options_listtasks` | list all tasks to be executed. | false | false | +| `options_skiptags` | only run plays and tasks whose tags does not match these values. | false | N/A | +| `options_startattask` | start the playbook at the task matching this name. | false | N/A | +| `options_step` | one-set-at-a-time: confirm each task before running. | false | false | +| `options_syntaxcheck` | perform a syntax check on the playbook and exits program. | false | false | +| `options_vaultid` | the vault identity to use. | false | N/A | +| `options_vaultpasswordfile` | vault password file. | false | N/A | +| `options_version` | returns ansible-playbook version number, configuration file location, configured module search path, module location, executable location and exits program. | false | false | +| `options_check` | dry-run, does not make any changes; instead, tries to predict some of the changes that may occur. | false | false | +| `options_difference` | when changing (small) files and template, shows the difference in those files. | false | false | +| `options_modulepath` | prepend colon-separated path(s) to module library | false | ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules | +| `options_extravars` | set additional variables as key=value or YAML/JSON, if filename is prepend with @ | false | N/A | +| `options_forks` | specify number of parallel processes to use. | false | 5 | +| `options_inventory` | specify inventory host path or comma separated host list. | true | N/A | +| `options_limit` | further limit selected hosts to additional pattern. | false | false | +| `options_tags` | only run plays and task whose tags matches these values. | false | N/A | +| `options_verbose` | verbose mode. | false | false | +| `options_verbosemore` | verbose mode: more verbose. | false | false | +| `options_verbosedebug` | verbose mode: connection debugging | false | false | + +### ansible-playbook connection + +| Parameter | Description | Required | Default | +| -------------------------- | ------------------------------------------------- | -------- | ------- | +| `connection_privatekey` | use this file to authenticate the connection. | false | N/A | +| `connection_scpextraargs` | specify extra arguments to pass to scp only. | false | N/A | +| `connection_sftpextraargs` | specify extra arguments to pass to sftp only. | false | N/A | +| `connection_sshextraargs` | specify extra arguments to pass to ssh only. | false | N/A | +| `connection_sshcommonargs` | specify common arguments to pass to scp/sftp/ssh. | false | N/A | +| `connection_timeout` | override the connection timeout in seconds. | false | 10 | +| `connection_connection` | connection type to use. | false | smart | +| `connection_user` | connect as this user. | false | none | +| `connection_passwordfile` | connection password file | false | N/A | + +### ansible-playbook privilege escalation + +| Parameter | Description | Required | Default | +| -------------------------- | -------------------------------------------------------------- | -------- | ------- | +| `privilege_becomemethod` | privilege escalation method to use. | false | sudo | +| `privilege_becomeuser` | run operation as this user. | false | root | +| `privilege_askbecomepass` | ask for privilege escalation password. | false | false | +| `privilege_become` | run operations with become (does not imply password prompting) | false | false | +| `privilege_becomepassfile` | become password file | false | N/A | + +## Template + +COMING SOON! + +## Troubleshooting + +You can start troubleshooting this plugin by tuning the level of logs being displayed: + +```diff +steps: + - name: ansible-lint + image: target/vela-ansible:latest + parameters: ++ log_level: trace + action: lint + playbook: "abox/main.yml" + +``` + +Below are a list of common problems and how to solve them: \ No newline at end of file diff --git a/versioned_docs/version-1.1/usage/plugins/registry/vault.md b/versioned_docs/version-1.1/usage/plugins/registry/vault.md new file mode 100644 index 0000000..f39eb3b --- /dev/null +++ b/versioned_docs/version-1.1/usage/plugins/registry/vault.md @@ -0,0 +1,142 @@ +# Vault + +## Description + +This plugin enables the ability pull secrets from [Vault](https://www.vaultproject.io/) into the secret mount within a Vela pipeline. + +Source Code: https://github.com/go-vela/secret-vault + +Registry: https://hub.docker.com/r/target/secret-vault + +## Usage + +Sample of retrieving a secret using token authentication: + +```yaml +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + parameters: + addr: vault.company.com + token: superSecretVaultToken + auth_method: token + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +Sample of retrieving a secret using ldap authentication: + +```diff +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + parameters: + addr: vault.company.com ++ username: octocat ++ password: superSecretPassword +- token: superSecretVaultToken ++ auth_method: ldap + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +Sample of reading a secret using ldap authentication with verbose logging: + +```diff +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + parameters: + addr: vault.company.com + username: octocat + password: superSecretPassword + token: superSecretVaultToken + auth_method: ldap ++ log_level: trace + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +Sample of retrieving a secret and writing it to multiple paths with a new key: +```yaml +secrets: + - origin: + name: vault + image: target/vela/secret-vault:latest + secrets: + - source: superSecretToken + target: vault_token + parameters: + addr: vault.company.com + auth_method: token + items: + # assume user_A has two keys: `id` and `token`, but we want it to be `username` and `password` + # + # this will write to `/vela/secrets/kaniko/username` and `/vela/secrets/kaniko/password` + # and also `/vela/secrets/artifactory/username` and `/vela/secrets/artifactory/password` + - source: secret/vela/user_A + path: [ kaniko, artifactory ] + keys: + id: username + token: password +``` + +## Secrets + +**NOTE: Users should refrain from configuring sensitive information in your pipeline in plain text.** + +**NOTE: Secrets used within the secret plugin must exist as Vela secrets.** + +You can use Vela secrets to substitute sensitive values at runtime: + +```diff +secrets: + # Repo secret created within Vela + - name: vault_token + + # Example using token authentication method + - origin: + name: vault + image: target/vela/secret-vault:latest + secret: [ vault_token ] + parameters: + addr: vault.company.com +- token: superSecretVaultToken + auth_method: token + items: + # Written to path: "/vela/secrets/docker/" + - source: secret/vela/username + path: docker +``` + +## Parameters + +The following parameters are used to configure the image: + +| Name | Description | Required | Default | +| ------------- | -------------------------------------------------------- | --------- | ------- | +| `addr` | address to the instance | `true` | `N/A` | +| `auth_method` | authentication method for interfacing (i.e. token, ldap) | `true` | `N/A` | +| `log_level` | set the log level for the plugin | `true` | `info` | +| `password` | password for server authentication with ldap | `false` | `N/A` | +| `token` | token for server authentication | `false` | `N/A` | +| `username` | set the log level for the plugin | `false` | `N/A` | +| `items` | set of secrets to retrieve and write to workspace | `true` | `N/A` | + +### Items + +| Name | Description | Required | Default | +| ------------- | -------------------------------------------------------- | --------- | ------------ | +| `source` | path to secret | `true` | `N/A` | +| `path` | desired file path under `vela/secrets/` directory | `true` | `N/A` | +| `keys` | override Vault keys (map type) | `false` | `vault key` | + diff --git a/versioned_docs/version-1.1/usage/plugins/tutorials/_category_.json b/versioned_docs/version-1.1/usage/plugins/tutorials/_category_.json new file mode 100644 index 0000000..e832f79 --- /dev/null +++ b/versioned_docs/version-1.1/usage/plugins/tutorials/_category_.json @@ -0,0 +1,12 @@ +{ + "label": "Tutorials", + "position": 2, + "link": { + "type": "generated-index", + "description": "A Vela cluster is deployed as a self-hosted solution and consists of two core services, the server and the worker. The relationship between these services is considered many-to-many meaning many workers can connect to many servers. + +The server is considered the brains of the application while the worker is considered the brawn of the application. + +An optional third service, the UI, can also be deployed but is not required for the Vela platform to operate as intended. This service provides a means for utilizing and interacting with the Vela platform." + } +} diff --git a/versioned_docs/version-1.1/usage/plugins/tutorials/bash.md b/versioned_docs/version-1.1/usage/plugins/tutorials/bash.md new file mode 100644 index 0000000..940486c --- /dev/null +++ b/versioned_docs/version-1.1/usage/plugins/tutorials/bash.md @@ -0,0 +1,113 @@ +--- +title: "Bash" +linkTitle: "Bash" +description: > + Learn how to write a Vela plugin with Bash. +--- + +:::warning +We recommend reviewing [Docker's best practices](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/) before attempting to create a custom plugin. + +We recommend that all plugins be placed inside a [scratch image](https://hub.docker.com/_/scratch). +::: + +## Overview + +From [Bash documentation](https://www.gnu.org/software/bash/): + +> Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). +> +> It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification. + +## Code + +To create a plugin using Bash, we'll need to first decide what task we want this plugin to accomplish. + +For this example, we're going to create a script that runs a `curl` command from the provided input: + +```sh +#!/usr/bin/env bash + +# import method parameter from environment +method=${PARAMETER_METHOD} +# import body parameter from environment +body=${PARAMETER_BODY} +# import url parameter from environment +url=${PARAMETER_URL} + +# send curl request from provided input +curl \ + -X "${method}" \ + -d "${body}" \ + "${url}" +``` + +:::tip +An example of this code is provided in the [bash section](https://github.com/go-vela/vela-tutorials/tree/main/plugins/bash) of the [go-vela/vela-tutorials](https://github.com/go-vela/vela-tutorials/tree/main/plugins) repository. +::: + +## Image + +Once we have the executable needed to accomplish our plugin's task, we need to create a Dockerfile to produce an image. + +This image should contain the script and be setup to run that script when the plugin is executed: + +```docker +FROM alpine + +RUN apk add --update --no-cache bash ca-certificates curl + +COPY vela-sample.sh /bin/vela-sample.sh + +ENTRYPOINT ["bash", "/bin/vela-sample.sh"] +``` + +:::tip +An example of this image is provided in the [target/vela-sample](https://hub.docker.com/r/target/vela-sample) Docker repository. +::: + +## Publishing + +In order to run the plugin in a pipeline, we'll need to make sure we build and publish it to a Docker registry: + +```sh +# build the image +docker build -t target/vela-sample:bash . + +# publish the image +docker push target/vela-sample:bash +``` + +:::info +This has the added benefit of enabling others in the community to consume your plugin! +::: + +## Troubleshooting + +To verify that the plugin performs the desired task, it can be executed locally via the command line: + +```sh +docker run --rm \ + -e PARAMETER_BODY="This is a sample Vela plugin written with Bash" \ + -e PARAMETER_METHOD="POST" \ + -e PARAMETER_URL="http://vela.localhost.com" \ + target/vela-sample:bash +``` + +## Usage + +After publishing the image to a Docker registry, it can be referenced in a pipeline: + +```yaml +version: "1" + +steps: + - name: sample bash plugin + image: target/vela-sample:bash + pull: always + parameters: + url: http://vela.localhost.com + method: POST + body: | + This is a sample Vela plugin written with Bash +``` \ No newline at end of file diff --git a/versioned_docs/version-1.1/usage/quickstart.md b/versioned_docs/version-1.1/usage/quickstart.md new file mode 100644 index 0000000..017c187 --- /dev/null +++ b/versioned_docs/version-1.1/usage/quickstart.md @@ -0,0 +1,149 @@ +--- +sidebar_position: 1 +--- + +# Quickstart + +## Step 1 - Enable a Repo + +:::warning +You will need **Admin** access to the repo to be able to activate it in Vela. This is because you need **Admin** access to be able to add webhooks +to the repo. +::: + +For this example, we'll go over using the UI to add the repo. You can always head over to the [CLI docs](/docs/reference/cli/repo/add.md) for docs on how to add a repo via CLI. + +1. Log into your Vela instance. +1. Click "Add Repositories". +1. Select the Org from the available list. +1. Click "Add" next to the repo you would like to add. + 1. Alternatively you can "Add All" repos in an org. + 1. If your repo doesn't exist, try clicking "Refresh List" in the top right. + +Your repo now has the necessary web hook to Vela. + +:::info +If you're coming from another CI platform you can set a starting build number by updating the counter field on the repo via the UI, [CLI](/docs/reference/cli/repo/), or [API](/docs/reference/api/repo/). +::: + +## Step 2 - Build a Pipeline + +A steps pipeline is designed to run a sequential set of tasks.These pipelines do not have a minimum defined length and steps will always execute in the order defined. + +In this pipeline each step is shown with the minimum required YAML keys to execute a step. Both steps are pulling a [Alpine Linux](https://alpinelinux.org/) image from [Docker Hub](https://hub.docker.com/) and executing echo statements. + +```yaml +version: "1" + +# In this pipeline, commands are executed inside the container as the Entrypoint. +# If any command returns a non-zero exit code, the pipeline fails and exits. +steps: + + - name: Greeting + image: alpine + commands: + - echo "Hello, World" + + - name: Welcome + image: alpine + commands: + - echo "Welcome to the Vela docs" +``` +**See it in action with examples!** + +* [Go](/docs/usage/examples/go_modules/) +* [Rust](/docs/usage/examples/rust_cargo/) +* [Gradle](/docs/usage/examples/java_gradle/) +* [Maven](/docs/usage/examples/java_maven/) +* [Node](/docs/usage/examples/node/) + +## Step 3 - Customize the Pipeline with Rulesets + +The ruleset allows you to provide conditions to limit the execution of the container. + +When you push your code to a source control management system a payload is sent to Vela. + +Within that payload contains characteristics about what just happened. Maybe it was a push to the main branch, feature branch or tag on any specific commit. + +The ruleset key gives you the ability to add conditions on the step to tell Vela when this step should be executed. + +```yaml +- name: Welcome + # This ruleset would scope the step to only executing + # under the conditions a push to the main branch occurred + ruleset: + event: push + branch: main + image: alpine + commands: + - echo "Welcome to the Vela docs" +``` + +```yaml +- name: Welcome + # This ruleset would scope the step to never executing + # under the conditions a push to the main branch occurred + ruleset: + unless: + event: push + branch: main + image: alpine + commands: + - echo "Welcome to the Vela docs" +``` +## Step 4 - Select Your Plugins + +A plugin is a Docker container that is designed to perform a set of pre-defined actions. + +These actions can be for any number of general tasks, deploying code, publishing artifacts and more. + +Anyone can create a plugin and use it in their pipeline. + +The registry of existing plugins can be found on this site in the [plugins](/docs/plugins/registry/) tab. + +Within the parameters block, keys are injected as upper case environment variables with the pattern of `PARAMETER_`. + +**Expand your knowledge with an example!** + +* [Working with Plugins](/docs/usage/plugin/) + + + +```yaml +steps: + + - name: publish hello world + image: target/vela-kaniko + # Environment variables injected: + # PARAMETER_REGISTRY=index.docker.io + # PARAMETER_REPO=index.docker.io/go-vela/hello-world + # PARAMETER_USERNAME=moby + # PARAMETER_PASSWORD=mypassword + # PARAMETER_TAGS=latest,v1.0.0 + parameters: + registry: index.docker.io + repo: index.docker.io/go-vela/hello-world + username: moby + password: mypassword + tags: + - latest + - v1.0.0 +``` +## Step 5 - Trigger the Pipeline + +If you've followed the documentation for [enabling a repo](/docs/usage/enable_repo/) and wrote a pipeline ([here are some example pipelines](/docs/usage/examples/)), all that should be left is to push your pipeline to your repo. + +If a build does not trigger when your push a change to your repo, check the webhook response to see if there is an error. + +:::tip +Want to run it locally? Install the CLI and "exec" the pipline from your terminal +::: + +```sh +$ vela exec pipeline +... +[stage: ][step: Greeting] $ echo "Hello, World" +[stage: ][step: Greeting] Hello, World +[stage: ][step: Welcome] $ echo "Welcome to the Vela docs" +[stage: ][step: Welcome] Welcome to the Vela docs +``` diff --git a/versioned_sidebars/version-1.0-sidebars.json b/versioned_sidebars/version-1.0-sidebars.json new file mode 100644 index 0000000..328bb02 --- /dev/null +++ b/versioned_sidebars/version-1.0-sidebars.json @@ -0,0 +1,20 @@ +{ + "usage": [ + { + "type": "autogenerated", + "dirName": "usage" + } + ], + "installation": [ + { + "type": "autogenerated", + "dirName": "installation" + } + ], + "reference": [ + { + "type": "autogenerated", + "dirName": "reference" + } + ] +} diff --git a/versioned_sidebars/version-1.1-sidebars.json b/versioned_sidebars/version-1.1-sidebars.json new file mode 100644 index 0000000..328bb02 --- /dev/null +++ b/versioned_sidebars/version-1.1-sidebars.json @@ -0,0 +1,20 @@ +{ + "usage": [ + { + "type": "autogenerated", + "dirName": "usage" + } + ], + "installation": [ + { + "type": "autogenerated", + "dirName": "installation" + } + ], + "reference": [ + { + "type": "autogenerated", + "dirName": "reference" + } + ] +} diff --git a/versions.json b/versions.json new file mode 100644 index 0000000..a74314c --- /dev/null +++ b/versions.json @@ -0,0 +1,4 @@ +[ + "1.1", + "1.0" +]