diff --git a/airbyte-integrations/connector-templates/README.md b/airbyte-integrations/connector-templates/README.md deleted file mode 100644 index 43c90164974..00000000000 --- a/airbyte-integrations/connector-templates/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Connector templates - -This directory contains templates used to bootstrap developing new connectors, as well as a generator module which generates code using the templates as input. - -See the `generator/` directory to get started writing a new connector. -Other directories contain templates used to bootstrap a connector. diff --git a/airbyte-integrations/connector-templates/connector_acceptance_test_files/acceptance-test-config.yml.hbs b/airbyte-integrations/connector-templates/connector_acceptance_test_files/acceptance-test-config.yml.hbs deleted file mode 100644 index 0cae90d53d9..00000000000 --- a/airbyte-integrations/connector-templates/connector_acceptance_test_files/acceptance-test-config.yml.hbs +++ /dev/null @@ -1,37 +0,0 @@ -# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) -# for more information about how to configure these tests -connector_image: {{ connectorImage }} -acceptance_tests: - spec: - tests: - - spec_path: "{{ specPath }}" - connection: - tests: - - config_path: "secrets/config.json" - status: "succeed" - - config_path: "integration_tests/invalid_config.json" - status: "failed" - discovery: - tests: - - config_path: "secrets/config.json" - basic_read: - tests: - - config_path: "secrets/config.json" - configured_catalog_path: "integration_tests/configured_catalog.json" - empty_streams: [] -# TODO uncomment this block to specify that the tests should assert the connector outputs the records provided in the input file a file -# expect_records: -# path: "integration_tests/expected_records.jsonl" -# exact_order: no - incremental: - bypass_reason: "This connector does not implement incremental sync" -# TODO uncomment this block this block if your connector implements incremental sync: -# tests: -# - config_path: "secrets/config.json" -# configured_catalog_path: "integration_tests/configured_catalog.json" -# future_state: -# future_state_path: "integration_tests/abnormal_state.json" - full_refresh: - tests: - - config_path: "secrets/config.json" - configured_catalog_path: "integration_tests/configured_catalog.json" diff --git a/airbyte-integrations/connector-templates/destination-python/README.md.hbs b/airbyte-integrations/connector-templates/destination-python/README.md.hbs deleted file mode 100644 index b5cb54f0882..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/README.md.hbs +++ /dev/null @@ -1,103 +0,0 @@ -# {{capitalCase name}} Destination - -This is the repository for the {{capitalCase name}} destination connector, written in Python. -For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/destinations/{{dashCase name}}). - -## Local development - -### Prerequisites - -* Python (`^3.10`) -* Poetry (`^1.7`) - installation instructions [here](https://python-poetry.org/docs/#installation) - - - -### Installing the connector - -From this connector directory, run: -```bash -poetry install --with dev -``` - - -#### Create credentials - -**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/destinations/{{dashCase name}}) -to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `destination_{{snakeCase name}}/spec.json` file. -Note that the `secrets` directory is gitignored by default, so there is no danger of accidentally checking in sensitive information. -See `integration_tests/sample_config.json` for a sample config file. - -**If you are an Airbyte core member**, copy the credentials in Lastpass under the secret name `destination {{dashCase name}} test creds` -and place them into `secrets/config.json`. - -### Locally running the connector -``` -poetry run destination-{{dashCase name}} spec -poetry run destination-{{dashCase name}} check --config secrets/config.json -poetry run destination-{{dashCase name}} write --config secrets/config.json --catalog sample_files/configured_catalog.json -``` - -### Running tests - -To run tests locally, from the connector directory run: - -``` -poetry run pytest tests -``` - -### Building the docker image - -1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) -2. Run the following command to build the docker image: -```bash -airbyte-ci connectors --name=destination-{{dashCase name}} build -``` - -An image will be available on your host with the tag `airbyte/destination-{{dashCase name}}:dev`. - -### Running as a docker container - -Then run any of the connector commands as follows: -``` -docker run --rm airbyte/destination-{{dashCase name}}:dev spec -docker run --rm -v $(pwd)/secrets:/secrets airbyte/destination-{{dashCase name}}:dev check --config /secrets/config.json -docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/destination-{{dashCase name}}:dev write --config /secrets/config.json --catalog /integration_tests/configured_catalog.json -``` - -### Running our CI test suite - -You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): - -```bash -airbyte-ci connectors --name=destination-{{dashCase name}} test -``` - -### Customizing acceptance Tests - -Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. -If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. - -### Dependency Management - -All of your dependencies should be managed via Poetry. -To add a new dependency, run: - -```bash -poetry add -``` - -Please commit the changes to `pyproject.toml` and `poetry.lock` files. - -## Publishing a new version of the connector - -You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what? -1. Make sure your changes are passing our test suite: `airbyte-ci connectors --name=destination-{{dashCase name}} test` -2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): - - bump the `dockerImageTag` value in in `metadata.yaml` - - bump the `version` value in `pyproject.toml` -3. Make sure the `metadata.yaml` content is up to date. -4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/destinations/{{dashCase name}}.md`). -5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). -6. Pat yourself on the back for being an awesome contributor. -7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. -8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. diff --git a/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/__init__.py.hbs b/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/__init__.py.hbs deleted file mode 100644 index c5bfbf8fec9..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/__init__.py.hbs +++ /dev/null @@ -1,8 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -from .destination import Destination{{properCase name}} - -__all__ = ["Destination{{properCase name}}"] diff --git a/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/destination.py.hbs b/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/destination.py.hbs deleted file mode 100644 index 7fbed94f263..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/destination.py.hbs +++ /dev/null @@ -1,53 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - -import logging - -from typing import Any, Iterable, Mapping - -from airbyte_cdk.destinations import Destination -from airbyte_cdk.models import AirbyteConnectionStatus, AirbyteMessage, ConfiguredAirbyteCatalog, Status - - -class Destination{{properCase name}}(Destination): - def write( - self, config: Mapping[str, Any], configured_catalog: ConfiguredAirbyteCatalog, input_messages: Iterable[AirbyteMessage] - ) -> Iterable[AirbyteMessage]: - - """ - TODO - Reads the input stream of messages, config, and catalog to write data to the destination. - - This method returns an iterable (typically a generator of AirbyteMessages via yield) containing state messages received - in the input message stream. Outputting a state message means that every AirbyteRecordMessage which came before it has been - successfully persisted to the destination. This is used to ensure fault tolerance in the case that a sync fails before fully completing, - then the source is given the last state message output from this method as the starting point of the next sync. - - :param config: dict of JSON configuration matching the configuration declared in spec.json - :param configured_catalog: The Configured Catalog describing the schema of the data being received and how it should be persisted in the - destination - :param input_messages: The stream of input messages received from the source - :return: Iterable of AirbyteStateMessages wrapped in AirbyteMessage structs - """ - - pass - - def check(self, logger: logging.Logger, config: Mapping[str, Any]) -> AirbyteConnectionStatus: - """ - Tests if the input configuration can be used to successfully connect to the destination with the needed permissions - e.g: if a provided API token or password can be used to connect and write to the destination. - - :param logger: Logging object to display debug/info/error to the logs - (logs will not be accessible via airbyte UI if they are not passed to this logger) - :param config: Json object containing the configuration of this destination, content of this json is as specified in - the properties of the spec.json file - - :return: AirbyteConnectionStatus indicating a Success or Failure - """ - try: - # TODO - - return AirbyteConnectionStatus(status=Status.SUCCEEDED) - except Exception as e: - return AirbyteConnectionStatus(status=Status.FAILED, message=f"An exception occurred: {repr(e)}") diff --git a/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/run.py.hbs b/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/run.py.hbs deleted file mode 100644 index ec29339744f..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/run.py.hbs +++ /dev/null @@ -1,13 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -import sys - -from airbyte_cdk.entrypoint import launch -from .destination import Destination{{properCase name}} - -def run(): - destination = Destination{{properCase name}}() - destination.run(sys.argv[1:]) diff --git a/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/spec.json b/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/spec.json deleted file mode 100644 index f3fc79d4bf5..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/destination_{{snakeCase name}}/spec.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "documentationUrl": "https://docs.airbyte.com/integrations/destinations/{{kebabCase name}}", - "supported_destination_sync_modes": [ - "TODO, available options are: 'overwrite', 'append', and 'append_dedup'" - ], - "supportsIncremental": true, - "connectionSpecification": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Destination {{capitalCase name}}", - "type": "object", - "required": ["TODO -- fix me!"], - "additionalProperties": false, - "properties": { - "TODO": { - "type": "string", - "description": "FIX ME" - } - } - } -} diff --git a/airbyte-integrations/connector-templates/destination-python/integration_tests/integration_test.py.hbs b/airbyte-integrations/connector-templates/destination-python/integration_tests/integration_test.py.hbs deleted file mode 100644 index 10b8fcc258f..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/integration_tests/integration_test.py.hbs +++ /dev/null @@ -1,8 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -def integration_test(): - # TODO write integration tests - pass diff --git a/airbyte-integrations/connector-templates/destination-python/main.py.hbs b/airbyte-integrations/connector-templates/destination-python/main.py.hbs deleted file mode 100644 index fb2e67be76a..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/main.py.hbs +++ /dev/null @@ -1,11 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -import sys - -from destination_{{snakeCase name}} import Destination{{pascalCase name}} - -if __name__ == "__main__": - Destination{{pascalCase name}}().run(sys.argv[1:]) diff --git a/airbyte-integrations/connector-templates/destination-python/metadata.yaml.hbs b/airbyte-integrations/connector-templates/destination-python/metadata.yaml.hbs deleted file mode 100644 index 72b14c97ae7..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/metadata.yaml.hbs +++ /dev/null @@ -1,30 +0,0 @@ -data: - allowedHosts: - hosts: - - TODO # Please change to the hostname of the source. - registries: - oss: - enabled: true - cloud: - enabled: false - connectorBuildOptions: - # Please update to the latest version of the connector base image. - # Please use the full address with sha256 hash to guarantee build reproducibility. - # https://hub.docker.com/r/airbyte/python-connector-base - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 - connectorSubtype: database - connectorType: destination - definitionId: {{generateDefinitionId}} - dockerImageTag: 0.1.0 - dockerRepository: airbyte/destination-{{dashCase name}} - githubIssueLabel: destination-{{dashCase name}} - icon: {{dashCase name}}.svg - license: MIT - name: {{capitalCase name}} - releaseDate: TODO - releaseStage: alpha - supportLevel: community - documentationUrl: https://docs.airbyte.com/integrations/destinations/{{dashCase name}} - tags: - - language:python -metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connector-templates/destination-python/pyproject.toml.hbs b/airbyte-integrations/connector-templates/destination-python/pyproject.toml.hbs deleted file mode 100644 index 8c005222078..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/pyproject.toml.hbs +++ /dev/null @@ -1,28 +0,0 @@ -[build-system] -requires = [ "poetry-core>=1.0.0",] -build-backend = "poetry.core.masonry.api" - -[tool.poetry] -version = "0.1.0" -name = "destination-{{dashCase name}}" -description = "Destination implementation for {{dashCase name}}." -authors = [ "Airbyte ",] -license = "MIT" -readme = "README.md" -documentation = "https://docs.airbyte.com/integrations/destinations/{{dashCase name}}" -homepage = "https://airbyte.com" -repository = "https://github.com/airbytehq/airbyte" -packages = [ { include = "destination_{{snakeCase name}}" }, {include = "main.py" } ] - -[tool.poetry.dependencies] -python = "^3.10,<3.12" -airbyte-cdk = "^6.33.0" - -[tool.poetry.scripts] -destination-{{dashCase name}} = "destination_{{snakeCase name}}.run:run" - -[tool.poetry.group.dev.dependencies] -requests-mock = "*" -pytest-mock = "*" -pytest = "*" - diff --git a/airbyte-integrations/connector-templates/destination-python/secrets/config.json.hbs b/airbyte-integrations/connector-templates/destination-python/secrets/config.json.hbs deleted file mode 100644 index f5f8933895a..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/secrets/config.json.hbs +++ /dev/null @@ -1,3 +0,0 @@ -{ - "fix-me": "TODO populate with needed configuration for integration tests or delete this file and any references to it. The schema of this file should match what is in your spec.yaml" -} diff --git a/airbyte-integrations/connector-templates/destination-python/unit_tests/unit_test.py.hbs b/airbyte-integrations/connector-templates/destination-python/unit_tests/unit_test.py.hbs deleted file mode 100644 index 42e1b1d8cd2..00000000000 --- a/airbyte-integrations/connector-templates/destination-python/unit_tests/unit_test.py.hbs +++ /dev/null @@ -1,7 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -def test_example_method(): - assert True diff --git a/airbyte-integrations/connector-templates/generator/.gitignore b/airbyte-integrations/connector-templates/generator/.gitignore deleted file mode 100644 index 9264f1aed03..00000000000 --- a/airbyte-integrations/connector-templates/generator/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -*.iml -/.idea - -.npmrc -.env -.env.development -.env.production diff --git a/airbyte-integrations/connector-templates/generator/Dockerfile b/airbyte-integrations/connector-templates/generator/Dockerfile deleted file mode 100644 index 1328d5a5cd7..00000000000 --- a/airbyte-integrations/connector-templates/generator/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM node:16-alpine - -ARG UID -ARG GID -ENV ENV_UID $UID -ENV ENV_GID $GID -ENV DOCS_DIR "/airbyte/docs/integrations" - -RUN mkdir -p /airbyte -WORKDIR /airbyte/airbyte-integrations/connector-templates/generator - -CMD npm install --silent --no-update-notifier && echo "INSTALL DONE" && \ - npm run generate "$package_desc" "$package_name" && \ - LAST_CREATED_CONNECTOR=$(ls -td /airbyte/airbyte-integrations/connectors/* | head -n 1) && \ - echo "chowning generated directory: $LAST_CREATED_CONNECTOR" && \ - chown -R $ENV_UID:$ENV_GID $LAST_CREATED_CONNECTOR/* && \ - echo "chowning docs directory: $DOCS_DIR" && \ - chown -R $ENV_UID:$ENV_GID $DOCS_DIR/* diff --git a/airbyte-integrations/connector-templates/generator/README.md b/airbyte-integrations/connector-templates/generator/README.md deleted file mode 100644 index 6605785f2b1..00000000000 --- a/airbyte-integrations/connector-templates/generator/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Connector generator - -This module generates code to bootstrap your connector development. - -## Getting started - -### Using NPM - -```bash -npm install -npm run generate -``` - -### Using Docker - -If you don't want to install `npm` you can run the generator using Docker: - -``` -./generate.sh -``` - -## Contributions - -### Testing connector templates - -To test that the templates generate valid code, we follow a slightly non-obvious strategy. Since the templates -themselves do not contain valid Java/Python/etc.. syntax, we can't build them directly. -At the same time, due to the way Gradle works (where phase 1 is "discovering" all the projects that need to be -built and phase 2 is running the build), it's not very ergonomic to have one Gradle task generate a module -from each template, build it in the same build lifecycle, then remove it. - -So we use the following strategy: - -1. Locally, generate an empty connector using the generator module (call the generated connector something like `java-jdbc-scaffolding`) -1. Check the generated module into source control - -Then, [in CI](https://github.com/airbytehq/airbyte/blob/master/.github/workflows/gradle.yml), we test two invariants: - -1. There is no diff between the checked in module, and a module generated during using the latest version of the templater -1. The checked in module builds successfully - -Together, these two invariants guarantee that the templates produce a valid module. - -The way this is performed is as follows: - -1. [in CI ](https://github.com/airbytehq/airbyte/blob/master/.github/workflows/gradle.yml) we trigger the task `:airbyte-integrations:connector-templates:generator:generateScaffolds`. This task deletes the checked in `java-jdbc-scaffolding`. Then the task generates a fresh instance of the module with the same name `java-jdbc-scaffolding`. -1. We run a `git diff`. If there is a diff, then fail the build (this means the latest version of the templates produce code which has not been manually reviewed by someone who checked them in intentionally). Steps 1 & 2 test the first invariant. -1. Separately, in `settings.gradle`, the `java-jdbc-scaffolding` module is registered as a java submodule. This causes it to be built as part of the normal build cycle triggered in CI. If the generated code does not compile for whatever reason, the build will fail on building the `java-jdbc-scaffolding` module. diff --git a/airbyte-integrations/connector-templates/generator/generate.sh b/airbyte-integrations/connector-templates/generator/generate.sh deleted file mode 100755 index 002d5f13ebb..00000000000 --- a/airbyte-integrations/connector-templates/generator/generate.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -error_handler() { - echo "While trying to generate a connector, an error occurred on line $1 of generate.sh and the process aborted early. This is probably a bug." -} -trap 'error_handler $LINENO' ERR - -set -e - -# Ensure script always runs from this directory because thats how docker build contexts work -cd "$(dirname "${0}")" || exit 1 - -# Make sure docker is running before trying -if ! docker ps; then - echo "docker is not running, this script requires docker to be up" - echo "please start up the docker daemon!" - exit -fi - -_UID=$(id -u) -_GID=$(id -g) -# Remove container if already exist -echo "Removing previous generator if it exists..." -docker container rm -f airbyte-connector-bootstrap >/dev/null 2>&1 - -# Build image for container from Dockerfile -# Specify the host system user UID and GID to chown the generated files to host system user. -# This is done because all generated files in container with mounted folders has root owner -echo "Building generator docker image..." -docker build --build-arg UID="$_UID" --build-arg GID="$_GID" . -t airbyte/connector-bootstrap - -# Run the container and mount the airbyte folder -if [ $# -eq 2 ]; then - echo "2 arguments supplied: 1=$1 2=$2" - docker run --name airbyte-connector-bootstrap --user "$_UID:$_GID" -e HOME=/tmp -e package_desc="$1" -e package_name="$2" -e CI=$CI -v "$(pwd)/../../../.":/airbyte airbyte/connector-bootstrap -else - echo "Running generator..." - docker run --rm -it --name airbyte-connector-bootstrap --user "$_UID:$_GID" -e HOME=/tmp -e CI=$CI -v "$(pwd)/../../../.":/airbyte airbyte/connector-bootstrap -fi - -echo "Finished running generator" diff --git a/airbyte-integrations/connector-templates/generator/package-lock.json b/airbyte-integrations/connector-templates/generator/package-lock.json deleted file mode 100644 index 96a62996576..00000000000 --- a/airbyte-integrations/connector-templates/generator/package-lock.json +++ /dev/null @@ -1,3817 +0,0 @@ -{ - "name": "airbyte-connector-generator", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "airbyte-connector-generator", - "version": "0.1.0", - "devDependencies": { - "capital-case": "^1.0.4", - "change-case": "^4.1.2", - "handlebars": "^4.7.7", - "plop": "^3.0.5", - "set-value": ">=4.0.1", - "uuid": "^8.3.2" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@types/fined": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/fined/-/fined-1.1.3.tgz", - "integrity": "sha512-CWYnSRnun3CGbt6taXeVo2lCbuaj4mchVJ4UF/BdU5TSuIn3AmS13pGMwCsBUoehGbhZrBrpNJZSZI5EVilXww==", - "dev": true - }, - "node_modules/@types/inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-BNoMetRf3gmkpAlV5we+kxyZTle7YibdOntIZbU5pyIfMdcwy784KfeZDAcuyMznkh5OLa17RVXZOGA5LTlkgQ==", - "dev": true, - "dependencies": { - "@types/through": "*", - "rxjs": "^7.2.0" - } - }, - "node_modules/@types/liftoff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/liftoff/-/liftoff-4.0.0.tgz", - "integrity": "sha512-Ny/PJkO6nxWAQnaet8q/oWz15lrfwvdvBpuY4treB0CSsBO1CG0fVuNLngR3m3bepQLd+E4c3Y3DlC2okpUvPw==", - "dev": true, - "dependencies": { - "@types/fined": "*", - "@types/node": "*" - } - }, - "node_modules/@types/node": { - "version": "17.0.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.20.tgz", - "integrity": "sha512-Q15Clj3lZSLnhVA6yKw1G7SQz46DeL9gO1TEgfK1OQGvMdQ6TUWmCeWf1QBUNkw2BDfV52i2YuYd9OF3ZwGhjw==", - "dev": true - }, - "node_modules/@types/through": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", - "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "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==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "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==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "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/bl": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz", - "integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==", - "dev": true, - "dependencies": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "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": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "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==", - "dev": true, - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/capital-case": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", - "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" - } - }, - "node_modules/chalk": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.0.tgz", - "integrity": "sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/change-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", - "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", - "dev": true, - "dependencies": { - "camel-case": "^4.1.2", - "capital-case": "^1.0.4", - "constant-case": "^3.0.4", - "dot-case": "^3.0.4", - "header-case": "^2.0.4", - "no-case": "^3.0.4", - "param-case": "^3.0.4", - "pascal-case": "^3.1.2", - "path-case": "^3.0.4", - "sentence-case": "^3.0.4", - "snake-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/constant-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", - "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case": "^2.0.2" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "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/del/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/del/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "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/detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "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==", - "dev": true - }, - "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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "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/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/findup-sync": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", - "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", - "dev": true, - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.3", - "micromatch": "^4.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/fined": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-2.0.0.tgz", - "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^5.0.0", - "object.defaults": "^1.1.0", - "object.pick": "^1.3.0", - "parse-filepath": "^1.0.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/fined/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/flagged-respawn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-2.0.0.tgz", - "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==", - "dev": true, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "dependencies": { - "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "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==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "dependencies": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "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/globby/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true - }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/header-case": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", - "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", - "dev": true, - "dependencies": { - "capital-case": "^1.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.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==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "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/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/inquirer/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "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": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inquirer/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inquirer/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-primitive": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", - "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-unicode-supported": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.1.0.tgz", - "integrity": "sha512-lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", - "dev": true, - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/liftoff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-4.0.0.tgz", - "integrity": "sha512-rMGwYF8q7g2XhG2ulBmmJgWv25qBsqRbDn5gH0+wnuyeFt7QBJlHJmtg5qEdn4pN6WVAUMgXnIxytMFRX9c1aA==", - "dev": true, - "dependencies": { - "extend": "^3.0.2", - "findup-sync": "^5.0.0", - "fined": "^2.0.0", - "flagged-respawn": "^2.0.0", - "is-plain-object": "^5.0.0", - "object.map": "^1.0.1", - "rechoir": "^0.8.0", - "resolve": "^1.20.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/liftoff/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", - "dev": true, - "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-plop": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/node-plop/-/node-plop-0.30.0.tgz", - "integrity": "sha512-5w9+jWoy9OtMm3qRmHgL2z/3L5VL3RhEegKkKC4tA1IIjG3aXf8Ee/8wdgU9qXyt1yDfPWI9Tan1rHpXAp0ZnA==", - "dev": true, - "dependencies": { - "@types/inquirer": "^8.1.3", - "change-case": "^4.1.2", - "del": "^6.0.0", - "globby": "^12.0.2", - "handlebars": "^4.4.3", - "inquirer": "^8.2.0", - "isbinaryfile": "^4.0.8", - "lodash.get": "^4.4.2", - "lower-case": "^2.0.2", - "mkdirp": "^1.0.4", - "resolve": "^1.20.0", - "title-case": "^3.0.3", - "upper-case": "^2.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "dependencies": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", - "dev": true, - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-6.1.0.tgz", - "integrity": "sha512-CxEP6845hLK+NHFWZ+LplGO4zfw4QSfxTlqMfvlJ988GoiUeZDMzCvqsZkFHv69sPICmJH1MDxZoQFOKXerAVw==", - "dev": true, - "dependencies": { - "bl": "^5.0.0", - "chalk": "^5.0.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.6.1", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.1.0", - "log-symbols": "^5.1.0", - "strip-ansi": "^7.0.1", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ora/node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "dev": true, - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "dependencies": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", - "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", - "dev": true, - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "dependencies": { - "path-root-regex": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/plop": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/plop/-/plop-3.0.5.tgz", - "integrity": "sha512-bD+/Lr+7NCjNIaYJq1cyHDfxtVCdjwfprgKsNwHwFnwntTiNwZWyxd1NuRDygdQWyPi+rstFMMFAPMek0cYaqA==", - "dev": true, - "dependencies": { - "@types/liftoff": "^4.0.0", - "chalk": "^5.0.0", - "interpret": "^2.2.0", - "liftoff": "^4.0.0", - "minimist": "^1.2.5", - "node-plop": "^0.30.0", - "ora": "^6.0.1", - "v8flags": "^4.0.0" - }, - "bin": { - "plop": "bin/plop.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "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==", - "dev": true, - "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/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.1", - "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-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.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==", - "dev": true, - "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/rxjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz", - "integrity": "sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/sentence-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", - "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" - } - }, - "node_modules/set-value": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz", - "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==", - "dev": true, - "funding": [ - "https://github.com/sponsors/jonschlinkert", - "https://paypal.me/jonathanschlinkert", - "https://jonschlinkert.dev/sponsor" - ], - "dependencies": { - "is-plain-object": "^2.0.4", - "is-primitive": "^3.0.1" - }, - "engines": { - "node": ">=11.0" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/title-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-3.0.3.tgz", - "integrity": "sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/uglify-js": { - "version": "3.13.6", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.6.tgz", - "integrity": "sha512-rRprLwl8RVaS+Qvx3Wh5hPfPBn9++G6xkGlUupya0s5aDmNjI7z3lnRLB3u7sN4OmbB0pWgzhM9BEJyiWAwtAA==", - "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upper-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", - "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/upper-case-first": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", - "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "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==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8flags": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-4.0.0.tgz", - "integrity": "sha512-83N0OkTbn6gOjJ2awNuzuK4czeGxwEwBoTqlhBZhnp8o0IJ72mXRQKphj/azwRf3acbDJZYZhbOPEJHd884ELg==", - "dev": true, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - } - }, - "dependencies": { - "@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==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@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==", - "dev": true - }, - "@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==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@types/fined": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/fined/-/fined-1.1.3.tgz", - "integrity": "sha512-CWYnSRnun3CGbt6taXeVo2lCbuaj4mchVJ4UF/BdU5TSuIn3AmS13pGMwCsBUoehGbhZrBrpNJZSZI5EVilXww==", - "dev": true - }, - "@types/inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-BNoMetRf3gmkpAlV5we+kxyZTle7YibdOntIZbU5pyIfMdcwy784KfeZDAcuyMznkh5OLa17RVXZOGA5LTlkgQ==", - "dev": true, - "requires": { - "@types/through": "*", - "rxjs": "^7.2.0" - } - }, - "@types/liftoff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/liftoff/-/liftoff-4.0.0.tgz", - "integrity": "sha512-Ny/PJkO6nxWAQnaet8q/oWz15lrfwvdvBpuY4treB0CSsBO1CG0fVuNLngR3m3bepQLd+E4c3Y3DlC2okpUvPw==", - "dev": true, - "requires": { - "@types/fined": "*", - "@types/node": "*" - } - }, - "@types/node": { - "version": "17.0.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.20.tgz", - "integrity": "sha512-Q15Clj3lZSLnhVA6yKw1G7SQz46DeL9gO1TEgfK1OQGvMdQ6TUWmCeWf1QBUNkw2BDfV52i2YuYd9OF3ZwGhjw==", - "dev": true - }, - "@types/through": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", - "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true - }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true - }, - "array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bl": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz", - "integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==", - "dev": true, - "requires": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "capital-case": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", - "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" - } - }, - "chalk": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.0.tgz", - "integrity": "sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==", - "dev": true - }, - "change-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", - "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", - "dev": true, - "requires": { - "camel-case": "^4.1.2", - "capital-case": "^1.0.4", - "constant-case": "^3.0.4", - "dot-case": "^3.0.4", - "header-case": "^2.0.4", - "no-case": "^3.0.4", - "param-case": "^3.0.4", - "pascal-case": "^3.1.2", - "path-case": "^3.0.4", - "sentence-case": "^3.0.4", - "snake-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "dev": true - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "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==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "constant-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", - "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case": "^2.0.2" - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "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==", - "dev": true - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "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==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "requires": { - "@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" - } - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "findup-sync": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", - "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.3", - "micromatch": "^4.0.4", - "resolve-dir": "^1.0.1" - } - }, - "fined": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-2.0.0.tgz", - "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^5.0.0", - "object.defaults": "^1.1.0", - "object.pick": "^1.3.0", - "parse-filepath": "^1.0.2" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - } - } - }, - "flagged-respawn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-2.0.0.tgz", - "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "requires": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "dependencies": { - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "header-case": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", - "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", - "dev": true, - "requires": { - "capital-case": "^1.0.4", - "tslib": "^2.0.3" - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "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==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - } - } - } - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, - "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "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==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-primitive": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", - "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==", - "dev": true - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "requires": { - "is-unc-path": "^1.0.0" - } - }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-unicode-supported": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.1.0.tgz", - "integrity": "sha512-lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA==", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "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==", - "dev": true - }, - "liftoff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-4.0.0.tgz", - "integrity": "sha512-rMGwYF8q7g2XhG2ulBmmJgWv25qBsqRbDn5gH0+wnuyeFt7QBJlHJmtg5qEdn4pN6WVAUMgXnIxytMFRX9c1aA==", - "dev": true, - "requires": { - "extend": "^3.0.2", - "findup-sync": "^5.0.0", - "fined": "^2.0.0", - "flagged-respawn": "^2.0.0", - "is-plain-object": "^5.0.0", - "object.map": "^1.0.1", - "rechoir": "^0.8.0", - "resolve": "^1.20.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - } - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", - "dev": true, - "requires": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "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==", - "dev": true - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-plop": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/node-plop/-/node-plop-0.30.0.tgz", - "integrity": "sha512-5w9+jWoy9OtMm3qRmHgL2z/3L5VL3RhEegKkKC4tA1IIjG3aXf8Ee/8wdgU9qXyt1yDfPWI9Tan1rHpXAp0ZnA==", - "dev": true, - "requires": { - "@types/inquirer": "^8.1.3", - "change-case": "^4.1.2", - "del": "^6.0.0", - "globby": "^12.0.2", - "handlebars": "^4.4.3", - "inquirer": "^8.2.0", - "isbinaryfile": "^4.0.8", - "lodash.get": "^4.4.2", - "lower-case": "^2.0.2", - "mkdirp": "^1.0.4", - "resolve": "^1.20.0", - "title-case": "^3.0.3", - "upper-case": "^2.0.2" - } - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "ora": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-6.1.0.tgz", - "integrity": "sha512-CxEP6845hLK+NHFWZ+LplGO4zfw4QSfxTlqMfvlJ988GoiUeZDMzCvqsZkFHv69sPICmJH1MDxZoQFOKXerAVw==", - "dev": true, - "requires": { - "bl": "^5.0.0", - "chalk": "^5.0.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.6.1", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.1.0", - "log-symbols": "^5.1.0", - "strip-ansi": "^7.0.1", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "dev": true, - "requires": { - "restore-cursor": "^4.0.0" - } - }, - "restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", - "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", - "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "requires": { - "path-root-regex": "^0.1.0" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "plop": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/plop/-/plop-3.0.5.tgz", - "integrity": "sha512-bD+/Lr+7NCjNIaYJq1cyHDfxtVCdjwfprgKsNwHwFnwntTiNwZWyxd1NuRDygdQWyPi+rstFMMFAPMek0cYaqA==", - "dev": true, - "requires": { - "@types/liftoff": "^4.0.0", - "chalk": "^5.0.0", - "interpret": "^2.2.0", - "liftoff": "^4.0.0", - "minimist": "^1.2.5", - "node-plop": "^0.30.0", - "ora": "^6.0.1", - "v8flags": "^4.0.0" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "requires": { - "resolve": "^1.20.0" - } - }, - "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "requires": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz", - "integrity": "sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "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==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sentence-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", - "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" - } - }, - "set-value": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz", - "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "is-primitive": "^3.0.1" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "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==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "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==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "title-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-3.0.3.tgz", - "integrity": "sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "uglify-js": { - "version": "3.13.6", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.6.tgz", - "integrity": "sha512-rRprLwl8RVaS+Qvx3Wh5hPfPBn9++G6xkGlUupya0s5aDmNjI7z3lnRLB3u7sN4OmbB0pWgzhM9BEJyiWAwtAA==", - "dev": true, - "optional": true - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true - }, - "upper-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", - "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "upper-case-first": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", - "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "v8flags": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-4.0.0.tgz", - "integrity": "sha512-83N0OkTbn6gOjJ2awNuzuK4czeGxwEwBoTqlhBZhnp8o0IJ72mXRQKphj/azwRf3acbDJZYZhbOPEJHd884ELg==", - "dev": true - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - } - } -} diff --git a/airbyte-integrations/connector-templates/generator/package.json b/airbyte-integrations/connector-templates/generator/package.json deleted file mode 100644 index f7bd9559da4..00000000000 --- a/airbyte-integrations/connector-templates/generator/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "airbyte-connector-generator", - "version": "0.1.0", - "private": true, - "scripts": { - "generate": "plop" - }, - "devDependencies": { - "capital-case": "^1.0.4", - "change-case": "^4.1.2", - "handlebars": "^4.7.7", - "plop": "^3.0.5", - "set-value": ">=4.0.1", - "uuid": "^8.3.2" - } -} diff --git a/airbyte-integrations/connector-templates/generator/plopfile.js b/airbyte-integrations/connector-templates/generator/plopfile.js deleted file mode 100644 index 3108d7a6bcc..00000000000 --- a/airbyte-integrations/connector-templates/generator/plopfile.js +++ /dev/null @@ -1,148 +0,0 @@ -"use strict"; -const path = require("path"); -const uuid = require("uuid"); -const capitalCase = require("capital-case"); -const changeCase = require("change-case"); -const getSuccessMessage = function ( - connectorName, - outputPath, - additionalMessage -) { - return ` -🚀 🚀 🚀 🚀 🚀 🚀 - -Success! - -Your ${connectorName} connector has been created at .${path.resolve( - outputPath -)}. - -Follow the TODOs in the generated module to implement your connector. - -Questions, comments, or concerns? Let us know in our connector development forum: -https://discuss.airbyte.io/c/connector-development/16 - -We're always happy to provide any support! - -${additionalMessage || ""} -`; -}; - -module.exports = function (plop) { - const connectorAcceptanceTestFilesInputRoot = - "../connector_acceptance_test_files"; - - const pythonSourceInputRoot = "../source-python"; - const pythonDestinationInputRoot = "../destination-python"; - - const outputDir = "../../connectors"; - - const pythonSourceOutputRoot = `${outputDir}/source-{{dashCase name}}`; - const pythonDestinationOutputRoot = `${outputDir}/destination-{{dashCase name}}`; - - const sourceConnectorImagePrefix = "airbyte/source-"; - const sourceConnectorImageTag = "dev"; - const defaultSpecPathFolderPrefix = "source_"; - - const specFileName = "spec.yaml"; - - plop.setHelper("capitalCase", function (name) { - return capitalCase.capitalCase(name); - }); - - plop.setHelper("currentYear", function () { - return new Date().getFullYear(); - }); - - plop.setHelper("generateDefinitionId", function () { - // if the env var CI is set then return a fixed FAKE uuid so that the tests are deterministic - if (process.env.CI) { - return "FAKE-UUID-0000-0000-000000000000"; - } - return uuid.v4().toLowerCase(); - }); - - plop.setHelper("connectorImage", function () { - let suffix = ""; - if (typeof this.connectorImageNameSuffix !== "undefined") { - suffix = this.connectorImageNameSuffix; - } - return `${sourceConnectorImagePrefix}${changeCase.paramCase(this.name)}${suffix}:${sourceConnectorImageTag}`; - }); - - plop.setHelper("specPath", function () { - let suffix = ""; - if (typeof this.specPathFolderSuffix !== "undefined") { - suffix = this.specPathFolderSuffix; - } - let inSubFolder = true; - if (typeof this.inSubFolder !== "undefined") { - inSubFolder = this.inSubFolder; - } - if (inSubFolder) { - return `${defaultSpecPathFolderPrefix}${changeCase.snakeCase( - this.name - )}${suffix}/${specFileName}`; - } else { - return specFileName; - } - }); - - plop.setActionType("emitSuccess", function (answers, config, plopApi) { - console.log( - getSuccessMessage( - answers.name, - plopApi.renderString(config.outputPath, answers), - config.message - ) - ); - }); - - plop.setGenerator("Python CDK Destination", { - description: "Generate a destination connector based on Python CDK.", - prompts: [ - { type: "input", name: "name", message: "Connector name e.g: redis" }, - ], - actions: [ - { - abortOnFail: true, - type: "addMany", - destination: pythonDestinationOutputRoot, - base: pythonDestinationInputRoot, - templateFiles: `${pythonDestinationInputRoot}/**/**`, - }, - { type: "emitSuccess", outputPath: pythonDestinationOutputRoot }, - ], - }); - - plop.setGenerator("Python CDK Source", { - description: - "Generate a source connector based on Python CDK.", - prompts: [ - { - type: "input", - name: "name", - message: 'Source name e.g: "google-analytics"', - }, - ], - actions: [ - { - abortOnFail: true, - type: "addMany", - destination: pythonSourceOutputRoot, - base: pythonSourceInputRoot, - templateFiles: `${pythonSourceInputRoot}/**/**`, - }, - // common acceptance tests - { - abortOnFail: true, - type: "addMany", - destination: pythonSourceOutputRoot, - base: connectorAcceptanceTestFilesInputRoot, - templateFiles: `${connectorAcceptanceTestFilesInputRoot}/**/**`, - }, - { type: "emitSuccess", outputPath: pythonSourceOutputRoot }, - ], - }); - -}; diff --git a/airbyte-integrations/connector-templates/source-python/README.md.hbs b/airbyte-integrations/connector-templates/source-python/README.md.hbs deleted file mode 100644 index d8ee03f91e7..00000000000 --- a/airbyte-integrations/connector-templates/source-python/README.md.hbs +++ /dev/null @@ -1,105 +0,0 @@ -# {{capitalCase name}} Source - -This is the repository for the {{capitalCase name}} source connector, written in Python. -For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/{{dashCase name}}). - -## Local development - -### Prerequisites - -* Python (`^3.10`) -* Poetry (`^1.7`) - installation instructions [here](https://python-poetry.org/docs/#installation) - - - -### Installing the connector - -From this connector directory, run: -```bash -poetry install --with dev -``` - - -### Create credentials - -**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/{{dashCase name}}) -to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `src/source_{{snakeCase name}}/spec.yaml` file. -Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. -See `sample_files/sample_config.json` for a sample config file. - - -### Locally running the connector - -``` -poetry run source-{{dashCase name}} spec -poetry run source-{{dashCase name}} check --config secrets/config.json -poetry run source-{{dashCase name}} discover --config secrets/config.json -poetry run source-{{dashCase name}} read --config secrets/config.json --catalog sample_files/configured_catalog.json -``` - -### Running tests - -To run tests locally, from the connector directory run: - -``` -poetry run pytest tests -``` - -### Building the docker image - -1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) -2. Run the following command to build the docker image: -```bash -airbyte-ci connectors --name=source-{{dashCase name}} build -``` - -An image will be available on your host with the tag `airbyte/source-{{dashCase name}}:dev`. - - -### Running as a docker container - -Then run any of the connector commands as follows: -``` -docker run --rm airbyte/source-{{dashCase name}}:dev spec -docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-{{dashCase name}}:dev check --config /secrets/config.json -docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-{{dashCase name}}:dev discover --config /secrets/config.json -docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-{{dashCase name}}:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json -``` - -### Running our CI test suite - -You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): - -```bash -airbyte-ci connectors --name=source-{{dashCase name}} test -``` - -### Customizing acceptance Tests - -Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. -If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. - -### Dependency Management - -All of your dependencies should be managed via Poetry. -To add a new dependency, run: - -```bash -poetry add -``` - -Please commit the changes to `pyproject.toml` and `poetry.lock` files. - -## Publishing a new version of the connector - -You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what? -1. Make sure your changes are passing our test suite: `airbyte-ci connectors --name=source-{{dashCase name}} test` -2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): - - bump the `dockerImageTag` value in in `metadata.yaml` - - bump the `version` value in `pyproject.toml` -3. Make sure the `metadata.yaml` content is up to date. -4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/{{dashCase name}}.md`). -5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). -6. Pat yourself on the back for being an awesome contributor. -7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. -8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. diff --git a/airbyte-integrations/connector-templates/source-python/integration_tests/__init__.py.hbs b/airbyte-integrations/connector-templates/source-python/integration_tests/__init__.py.hbs deleted file mode 100644 index 033868e2f76..00000000000 --- a/airbyte-integrations/connector-templates/source-python/integration_tests/__init__.py.hbs +++ /dev/null @@ -1,3 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# diff --git a/airbyte-integrations/connector-templates/source-python/integration_tests/abnormal_state.json b/airbyte-integrations/connector-templates/source-python/integration_tests/abnormal_state.json deleted file mode 100644 index 52b0f2c2118..00000000000 --- a/airbyte-integrations/connector-templates/source-python/integration_tests/abnormal_state.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "todo-stream-name": { - "todo-field-name": "todo-abnormal-value" - } -} diff --git a/airbyte-integrations/connector-templates/source-python/integration_tests/acceptance.py.hbs b/airbyte-integrations/connector-templates/source-python/integration_tests/acceptance.py.hbs deleted file mode 100644 index 9c063d1a222..00000000000 --- a/airbyte-integrations/connector-templates/source-python/integration_tests/acceptance.py.hbs +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -import pytest - -pytest_plugins = ("connector_acceptance_test.plugin",) - - -@pytest.fixture(scope="session", autouse=True) -def connector_setup(): - """This fixture is a placeholder for external resources that acceptance test might require.""" - # TODO: setup test dependencies if needed. otherwise remove the TODO comments - yield - # TODO: clean up test dependencies diff --git a/airbyte-integrations/connector-templates/source-python/integration_tests/configured_catalog.json b/airbyte-integrations/connector-templates/source-python/integration_tests/configured_catalog.json deleted file mode 100644 index 36f0468db0d..00000000000 --- a/airbyte-integrations/connector-templates/source-python/integration_tests/configured_catalog.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "streams": [ - { - "stream": { - "name": "customers", - "json_schema": {}, - "supported_sync_modes": ["full_refresh"] - }, - "sync_mode": "full_refresh", - "destination_sync_mode": "overwrite" - }, - { - "stream": { - "name": "employees", - "json_schema": {}, - "supported_sync_modes": ["full_refresh", "incremental"] - }, - "sync_mode": "incremental", - "destination_sync_mode": "append" - } - ] -} diff --git a/airbyte-integrations/connector-templates/source-python/integration_tests/invalid_config.json b/airbyte-integrations/connector-templates/source-python/integration_tests/invalid_config.json deleted file mode 100644 index f3732995784..00000000000 --- a/airbyte-integrations/connector-templates/source-python/integration_tests/invalid_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "todo-wrong-field": "this should be an incomplete config file, used in standard tests" -} diff --git a/airbyte-integrations/connector-templates/source-python/integration_tests/sample_config.json b/airbyte-integrations/connector-templates/source-python/integration_tests/sample_config.json deleted file mode 100644 index ecc4913b84c..00000000000 --- a/airbyte-integrations/connector-templates/source-python/integration_tests/sample_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "fix-me": "TODO" -} diff --git a/airbyte-integrations/connector-templates/source-python/integration_tests/sample_state.json b/airbyte-integrations/connector-templates/source-python/integration_tests/sample_state.json deleted file mode 100644 index 3587e579822..00000000000 --- a/airbyte-integrations/connector-templates/source-python/integration_tests/sample_state.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "todo-stream-name": { - "todo-field-name": "value" - } -} diff --git a/airbyte-integrations/connector-templates/source-python/main.py.hbs b/airbyte-integrations/connector-templates/source-python/main.py.hbs deleted file mode 100644 index 5550f45aa7a..00000000000 --- a/airbyte-integrations/connector-templates/source-python/main.py.hbs +++ /dev/null @@ -1,8 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - -from source_{{snakeCase name}}.run import run - -if __name__ == "__main__": - run() diff --git a/airbyte-integrations/connector-templates/source-python/metadata.yaml.hbs b/airbyte-integrations/connector-templates/source-python/metadata.yaml.hbs deleted file mode 100644 index 1e5f739561f..00000000000 --- a/airbyte-integrations/connector-templates/source-python/metadata.yaml.hbs +++ /dev/null @@ -1,34 +0,0 @@ -data: - allowedHosts: - hosts: - - TODO # Please change to the hostname of the source. - registries: - oss: - enabled: true - cloud: - enabled: false - remoteRegistries: - pypi: - enabled: true - packageName: airbyte-source-{{dashCase name}} - connectorBuildOptions: - # Please update to the latest version of the connector base image. - # https://hub.docker.com/r/airbyte/python-connector-base - # Please use the full address with sha256 hash to guarantee build reproducibility. - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 - connectorSubtype: api - connectorType: source - definitionId: {{generateDefinitionId}} - dockerImageTag: 0.1.0 - dockerRepository: airbyte/source-{{dashCase name}} - githubIssueLabel: source-{{dashCase name}} - icon: {{dashCase name}}.svg - license: MIT - name: {{capitalCase name}} - releaseDate: TODO - supportLevel: community - releaseStage: alpha - documentationUrl: https://docs.airbyte.com/integrations/sources/{{dashCase name}} - tags: - - language:python -metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connector-templates/source-python/pyproject.toml.hbs b/airbyte-integrations/connector-templates/source-python/pyproject.toml.hbs deleted file mode 100644 index 4b383f110b0..00000000000 --- a/airbyte-integrations/connector-templates/source-python/pyproject.toml.hbs +++ /dev/null @@ -1,28 +0,0 @@ -[build-system] -requires = [ "poetry-core>=1.0.0",] -build-backend = "poetry.core.masonry.api" - -[tool.poetry] -version = "0.1.0" -name = "source-{{dashCase name}}" -description = "Source implementation for {{dashCase name}}." -authors = [ "Airbyte ",] -license = "MIT" -readme = "README.md" -documentation = "https://docs.airbyte.com/integrations/sources/{{dashCase name}}" -homepage = "https://airbyte.com" -repository = "https://github.com/airbytehq/airbyte" -packages = [ { include = "source_{{snakeCase name}}" }, {include = "main.py" } ] - -[tool.poetry.dependencies] -python = "^3.10,<3.12" -airbyte-cdk = "^6.33.0" - -[tool.poetry.scripts] -source-{{dashCase name}} = "source_{{snakeCase name}}.run:run" - -[tool.poetry.group.dev.dependencies] -requests-mock = "*" -pytest-mock = "*" -pytest = "*" - diff --git a/airbyte-integrations/connector-templates/source-python/secrets/config.json.hbs b/airbyte-integrations/connector-templates/source-python/secrets/config.json.hbs deleted file mode 100644 index f5f8933895a..00000000000 --- a/airbyte-integrations/connector-templates/source-python/secrets/config.json.hbs +++ /dev/null @@ -1,3 +0,0 @@ -{ - "fix-me": "TODO populate with needed configuration for integration tests or delete this file and any references to it. The schema of this file should match what is in your spec.yaml" -} diff --git a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/__init__.py.hbs b/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/__init__.py.hbs deleted file mode 100644 index 3acd0674da4..00000000000 --- a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/__init__.py.hbs +++ /dev/null @@ -1,8 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -from .source import Source{{properCase name}} - -__all__ = ["Source{{properCase name}}"] diff --git a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/run.py.hbs b/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/run.py.hbs deleted file mode 100644 index 55850eeb1d2..00000000000 --- a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/run.py.hbs +++ /dev/null @@ -1,13 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -import sys - -from airbyte_cdk.entrypoint import launch -from .source import Source{{properCase name}} - -def run(): - source = Source{{properCase name}}() - launch(source, sys.argv[1:]) diff --git a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/schemas/TODO.md b/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/schemas/TODO.md deleted file mode 100644 index 0037aeb60d8..00000000000 --- a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/schemas/TODO.md +++ /dev/null @@ -1,30 +0,0 @@ -# TODO: Define your stream schemas - -Your connector must describe the schema of each stream it can output using [JSONSchema](https://json-schema.org). - -The simplest way to do this is to describe the schema of your streams using one `.json` file per stream. You can also dynamically generate the schema of your stream in code, or you can combine both approaches: start with a `.json` file and dynamically add properties to it. - -The schema of a stream is the return value of `Stream.get_json_schema`. - -## Static schemas - -By default, `Stream.get_json_schema` reads a `.json` file in the `schemas/` directory whose name is equal to the value of the `Stream.name` property. In turn `Stream.name` by default returns the name of the class in snake case. Therefore, if you have a class `class EmployeeBenefits(HttpStream)` the default behavior will look for a file called `schemas/employee_benefits.json`. You can override any of these behaviors as you need. - -Important note: any objects referenced via `$ref` should be placed in the `shared/` directory in their own `.json` files. - -## Dynamic schemas - -If you'd rather define your schema in code, override `Stream.get_json_schema` in your stream class to return a `dict` describing the schema using [JSONSchema](https://json-schema.org). - -## Dynamically modifying static schemas - -Override `Stream.get_json_schema` to run the default behavior, edit the returned value, then return the edited value: - -``` -def get_json_schema(self): - schema = super().get_json_schema() - schema['dynamically_determined_property'] = "property" - return schema -``` - -Delete this file once you're done. Or don't. Up to you :) diff --git a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/schemas/customers.json b/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/schemas/customers.json deleted file mode 100644 index 9a4b1348583..00000000000 --- a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/schemas/customers.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "signup_date": { - "type": ["null", "string"], - "format": "date-time" - } - } -} diff --git a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/schemas/employees.json b/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/schemas/employees.json deleted file mode 100644 index 2fa01a0fa1f..00000000000 --- a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/schemas/employees.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "years_of_service": { - "type": ["null", "integer"] - }, - "start_date": { - "type": ["null", "string"], - "format": "date-time" - } - } -} diff --git a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/source.py.hbs b/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/source.py.hbs deleted file mode 100644 index 9423b5c8ca0..00000000000 --- a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/source.py.hbs +++ /dev/null @@ -1,206 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -from abc import ABC -from typing import Any, Iterable, List, Mapping, MutableMapping, Optional, Tuple - -import requests -from airbyte_cdk.sources import AbstractSource -from airbyte_cdk.sources.streams import Stream -from airbyte_cdk.sources.streams.http import HttpStream -from airbyte_cdk.sources.streams.http.requests_native_auth import TokenAuthenticator - -""" -TODO: Most comments in this class are instructive and should be deleted after the source is implemented. - -This file provides a stubbed example of how to use the Airbyte CDK to develop both a source connector which supports full refresh or and an -incremental syncs from an HTTP API. - -The various TODOs are both implementation hints and steps - fulfilling all the TODOs should be sufficient to implement one basic and one incremental -stream from a source. This pattern is the same one used by Airbyte internally to implement connectors. - -The approach here is not authoritative, and devs are free to use their own judgement. - -There are additional required TODOs in the files within the integration_tests folder and the spec.yaml file. -""" - - -# Basic full refresh stream -class {{properCase name}}Stream(HttpStream, ABC): - """ - TODO remove this comment - - This class represents a stream output by the connector. - This is an abstract base class meant to contain all the common functionality at the API level e.g: the API base URL, pagination strategy, - parsing responses etc.. - - Each stream should extend this class (or another abstract subclass of it) to specify behavior unique to that stream. - - Typically for REST APIs each stream corresponds to a resource in the API. For example if the API - contains the endpoints - - GET v1/customers - - GET v1/employees - - then you should have three classes: - `class {{properCase name}}Stream(HttpStream, ABC)` which is the current class - `class Customers({{properCase name}}Stream)` contains behavior to pull data for customers using v1/customers - `class Employees({{properCase name}}Stream)` contains behavior to pull data for employees using v1/employees - - If some streams implement incremental sync, it is typical to create another class - `class Incremental{{properCase name}}Stream(({{properCase name}}Stream), ABC)` then have concrete stream implementations extend it. An example - is provided below. - - See the reference docs for the full list of configurable options. - """ - - # TODO: Fill in the url base. Required. - url_base = "https://example-api.com/v1/" - - def next_page_token(self, response: requests.Response) -> Optional[Mapping[str, Any]]: - """ - TODO: Override this method to define a pagination strategy. If you will not be using pagination, no action is required - just return None. - - This method should return a Mapping (e.g: dict) containing whatever information required to make paginated requests. This dict is passed - to most other methods in this class to help you form headers, request bodies, query params, etc.. - - For example, if the API accepts a 'page' parameter to determine which page of the result to return, and a response from the API contains a - 'page' number, then this method should probably return a dict {'page': response.json()['page'] + 1} to increment the page count by 1. - The request_params method should then read the input next_page_token and set the 'page' param to next_page_token['page']. - - :param response: the most recent response from the API - :return If there is another page in the result, a mapping (e.g: dict) containing information needed to query the next page in the response. - If there are no more pages in the result, return None. - """ - return None - - def request_params( - self, stream_state: Mapping[str, Any], stream_slice: Mapping[str, any] = None, next_page_token: Mapping[str, Any] = None - ) -> MutableMapping[str, Any]: - """ - TODO: Override this method to define any query parameters to be set. Remove this method if you don't need to define request params. - Usually contains common params e.g. pagination size etc. - """ - return {} - - def parse_response(self, response: requests.Response, **kwargs) -> Iterable[Mapping]: - """ - TODO: Override this method to define how a response is parsed. - :return an iterable containing each record in the response - """ - yield {} - - -class Customers({{properCase name}}Stream): - """ - TODO: Change class name to match the table/data source this stream corresponds to. - """ - - # TODO: Fill in the primary key. Required. This is usually a unique field in the stream, like an ID or a timestamp. - primary_key = "customer_id" - - def path( - self, stream_state: Mapping[str, Any] = None, stream_slice: Mapping[str, Any] = None, next_page_token: Mapping[str, Any] = None - ) -> str: - """ - TODO: Override this method to define the path this stream corresponds to. E.g. if the url is https://example-api.com/v1/customers then this - should return "customers". Required. - """ - return "customers" - - -# Basic incremental stream -class Incremental{{properCase name}}Stream({{properCase name}}Stream, ABC): - """ - TODO fill in details of this class to implement functionality related to incremental syncs for your connector. - if you do not need to implement incremental sync for any streams, remove this class. - """ - - # TODO: Fill in to checkpoint stream reads after N records. This prevents re-reading of data if the stream fails for any reason. - state_checkpoint_interval = None - - @property - def cursor_field(self) -> str: - """ - TODO - Override to return the cursor field used by this stream e.g: an API entity might always use created_at as the cursor field. This is - usually id or date based. This field's presence tells the framework this in an incremental stream. Required for incremental. - - :return str: The name of the cursor field. - """ - return [] - - def get_updated_state(self, current_stream_state: MutableMapping[str, Any], latest_record: Mapping[str, Any]) -> Mapping[str, Any]: - """ - Override to determine the latest state after reading the latest record. This typically compared the cursor_field from the latest record and - the current state and picks the 'most' recent cursor. This is how a stream's state is determined. Required for incremental. - """ - return {} - - -class Employees(Incremental{{properCase name}}Stream): - """ - TODO: Change class name to match the table/data source this stream corresponds to. - """ - - # TODO: Fill in the cursor_field. Required. - cursor_field = "start_date" - - # TODO: Fill in the primary key. Required. This is usually a unique field in the stream, like an ID or a timestamp. - primary_key = "employee_id" - - def path(self, **kwargs) -> str: - """ - TODO: Override this method to define the path this stream corresponds to. E.g. if the url is https://example-api.com/v1/employees then this should - return "single". Required. - """ - return "employees" - - def stream_slices(self, stream_state: Mapping[str, Any] = None, **kwargs) -> Iterable[Optional[Mapping[str, any]]]: - """ - TODO: Optionally override this method to define this stream's slices. If slicing is not needed, delete this method. - - Slices control when state is saved. Specifically, state is saved after a slice has been fully read. - This is useful if the API offers reads by groups or filters, and can be paired with the state object to make reads efficient. See the "concepts" - section of the docs for more information. - - The function is called before reading any records in a stream. It returns an Iterable of dicts, each containing the - necessary data to craft a request for a slice. The stream state is usually referenced to determine what slices need to be created. - This means that data in a slice is usually closely related to a stream's cursor_field and stream_state. - - An HTTP request is made for each returned slice. The same slice can be accessed in the path, request_params and request_header functions to help - craft that specific request. - - For example, if https://example-api.com/v1/employees offers a date query params that returns data for that particular day, one way to implement - this would be to consult the stream state object for the last synced date, then return a slice containing each date from the last synced date - till now. The request_params function would then grab the date from the stream_slice and make it part of the request by injecting it into - the date query param. - """ - raise NotImplementedError("Implement stream slices or delete this method!") - - -# Source -class Source{{properCase name}}(AbstractSource): - def check_connection(self, logger, config) -> Tuple[bool, any]: - """ - TODO: Implement a connection check to validate that the user-provided config can be used to connect to the underlying API - - See https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connectors/source-stripe/source_stripe/source.py#L232 - for an example. - - :param config: the user-input config object conforming to the connector's spec.yaml - :param logger: logger object - :return Tuple[bool, any]: (True, None) if the input config can be used to connect to the API successfully, (False, error) otherwise. - """ - return True, None - - def streams(self, config: Mapping[str, Any]) -> List[Stream]: - """ - TODO: Replace the streams below with your own streams. - - :param config: A Mapping of the user input configuration as defined in the connector spec. - """ - # TODO remove the authenticator if not required. - auth = TokenAuthenticator(token="api_key") # Oauth2Authenticator is also available if you need oauth support - return [Customers(authenticator=auth), Employees(authenticator=auth)] diff --git a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/spec.yaml.hbs b/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/spec.yaml.hbs deleted file mode 100644 index 0ba7c6d552a..00000000000 --- a/airbyte-integrations/connector-templates/source-python/source_{{snakeCase name}}/spec.yaml.hbs +++ /dev/null @@ -1,12 +0,0 @@ -documentationUrl: https://docsurl.com -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: {{capitalCase name}} Spec - type: object - required: - - TODO - properties: - # 'TODO: This schema defines the configuration required for the source. This usually involves metadata such as database and/or authentication information.': - TODO: - type: string - description: describe me diff --git a/airbyte-integrations/connector-templates/source-python/unit_tests/__init__.py.hbs b/airbyte-integrations/connector-templates/source-python/unit_tests/__init__.py.hbs deleted file mode 100644 index 033868e2f76..00000000000 --- a/airbyte-integrations/connector-templates/source-python/unit_tests/__init__.py.hbs +++ /dev/null @@ -1,3 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# diff --git a/airbyte-integrations/connector-templates/source-python/unit_tests/test_incremental_streams.py.hbs b/airbyte-integrations/connector-templates/source-python/unit_tests/test_incremental_streams.py.hbs deleted file mode 100644 index 92675fe43bf..00000000000 --- a/airbyte-integrations/connector-templates/source-python/unit_tests/test_incremental_streams.py.hbs +++ /dev/null @@ -1,59 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - - -from airbyte_cdk.models import SyncMode -from pytest import fixture -from source_{{snakeCase name}}.source import Incremental{{properCase name}}Stream - - -@fixture -def patch_incremental_base_class(mocker): - # Mock abstract methods to enable instantiating abstract class - mocker.patch.object(Incremental{{properCase name}}Stream, "path", "v0/example_endpoint") - mocker.patch.object(Incremental{{properCase name}}Stream, "primary_key", "test_primary_key") - mocker.patch.object(Incremental{{properCase name}}Stream, "__abstractmethods__", set()) - - -def test_cursor_field(patch_incremental_base_class): - stream = Incremental{{properCase name}}Stream() - # TODO: replace this with your expected cursor field - expected_cursor_field = [] - assert stream.cursor_field == expected_cursor_field - - -def test_get_updated_state(patch_incremental_base_class): - stream = Incremental{{properCase name}}Stream() - # TODO: replace this with your input parameters - inputs = {"current_stream_state": None, "latest_record": None} - # TODO: replace this with your expected updated stream state - expected_state = {} - assert stream.get_updated_state(**inputs) == expected_state - - -def test_stream_slices(patch_incremental_base_class): - stream = Incremental{{properCase name}}Stream() - # TODO: replace this with your input parameters - inputs = {"sync_mode": SyncMode.incremental, "cursor_field": [], "stream_state": {}} - # TODO: replace this with your expected stream slices list - expected_stream_slice = [{}] - assert stream.stream_slices(**inputs) == expected_stream_slice - - -def test_supports_incremental(patch_incremental_base_class, mocker): - mocker.patch.object(Incremental{{properCase name}}Stream, "cursor_field", "dummy_field") - stream = Incremental{{properCase name}}Stream() - assert stream.supports_incremental - - -def test_source_defined_cursor(patch_incremental_base_class): - stream = Incremental{{properCase name}}Stream() - assert stream.source_defined_cursor - - -def test_stream_checkpoint_interval(patch_incremental_base_class): - stream = Incremental{{properCase name}}Stream() - # TODO: replace this with your expected checkpoint interval - expected_checkpoint_interval = None - assert stream.state_checkpoint_interval == expected_checkpoint_interval diff --git a/airbyte-integrations/connector-templates/source-python/unit_tests/test_source.py.hbs b/airbyte-integrations/connector-templates/source-python/unit_tests/test_source.py.hbs deleted file mode 100644 index 586e1002205..00000000000 --- a/airbyte-integrations/connector-templates/source-python/unit_tests/test_source.py.hbs +++ /dev/null @@ -1,22 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - -from unittest.mock import MagicMock - -from source_{{snakeCase name}}.source import Source{{properCase name}} - - -def test_check_connection(mocker): - source = Source{{properCase name}}() - logger_mock, config_mock = MagicMock(), MagicMock() - assert source.check_connection(logger_mock, config_mock) == (True, None) - - -def test_streams(mocker): - source = Source{{properCase name}}() - config_mock = MagicMock() - streams = source.streams(config_mock) - # TODO: replace this with your streams number - expected_streams_number = 2 - assert len(streams) == expected_streams_number diff --git a/airbyte-integrations/connector-templates/source-python/unit_tests/test_streams.py.hbs b/airbyte-integrations/connector-templates/source-python/unit_tests/test_streams.py.hbs deleted file mode 100644 index eabf94165ba..00000000000 --- a/airbyte-integrations/connector-templates/source-python/unit_tests/test_streams.py.hbs +++ /dev/null @@ -1,83 +0,0 @@ -# -# Copyright (c) {{currentYear}} Airbyte, Inc., all rights reserved. -# - -from http import HTTPStatus -from unittest.mock import MagicMock - -import pytest -from source_{{snakeCase name}}.source import {{properCase name}}Stream - - -@pytest.fixture -def patch_base_class(mocker): - # Mock abstract methods to enable instantiating abstract class - mocker.patch.object({{properCase name}}Stream, "path", "v0/example_endpoint") - mocker.patch.object({{properCase name}}Stream, "primary_key", "test_primary_key") - mocker.patch.object({{properCase name}}Stream, "__abstractmethods__", set()) - - -def test_request_params(patch_base_class): - stream = {{properCase name}}Stream() - # TODO: replace this with your input parameters - inputs = {"stream_slice": None, "stream_state": None, "next_page_token": None} - # TODO: replace this with your expected request parameters - expected_params = {} - assert stream.request_params(**inputs) == expected_params - - -def test_next_page_token(patch_base_class): - stream = {{properCase name}}Stream() - # TODO: replace this with your input parameters - inputs = {"response": MagicMock()} - # TODO: replace this with your expected next page token - expected_token = None - assert stream.next_page_token(**inputs) == expected_token - - -def test_parse_response(patch_base_class): - stream = {{properCase name}}Stream() - # TODO: replace this with your input parameters - inputs = {"response": MagicMock()} - # TODO: replace this with your expected parced object - expected_parsed_object = {} - assert next(stream.parse_response(**inputs)) == expected_parsed_object - - -def test_request_headers(patch_base_class): - stream = {{properCase name}}Stream() - # TODO: replace this with your input parameters - inputs = {"stream_slice": None, "stream_state": None, "next_page_token": None} - # TODO: replace this with your expected request headers - expected_headers = {} - assert stream.request_headers(**inputs) == expected_headers - - -def test_http_method(patch_base_class): - stream = {{properCase name}}Stream() - # TODO: replace this with your expected http request method - expected_method = "GET" - assert stream.http_method == expected_method - - -@pytest.mark.parametrize( - ("http_status", "should_retry"), - [ - (HTTPStatus.OK, False), - (HTTPStatus.BAD_REQUEST, False), - (HTTPStatus.TOO_MANY_REQUESTS, True), - (HTTPStatus.INTERNAL_SERVER_ERROR, True), - ], -) -def test_should_retry(patch_base_class, http_status, should_retry): - response_mock = MagicMock() - response_mock.status_code = http_status - stream = {{properCase name}}Stream() - assert stream.should_retry(response_mock) == should_retry - - -def test_backoff_time(patch_base_class): - response_mock = MagicMock() - stream = {{properCase name}}Stream() - expected_backoff_time = None - assert stream.backoff_time(response_mock) == expected_backoff_time diff --git a/docs/connector-development/cdk-python/README.md b/docs/connector-development/cdk-python/README.md index 4f3d2e9385d..069b72d97ce 100644 --- a/docs/connector-development/cdk-python/README.md +++ b/docs/connector-development/cdk-python/README.md @@ -1,23 +1,5 @@ # Connector Development Kit -:::info -Over the next few months, the project will only accept connector contributions that are made using the -[Low-Code CDK](https://docs.airbyte.com/connector-development/config-based/low-code-cdk-overview) or the -[Connector Builder](https://docs.airbyte.com/connector-development/connector-builder-ui/overview). - -New pull requests made with the Python CDK will be closed, but we will inquire to understand why it wasn't done with -Low-Code/Connector Builder so we can address missing features. This decision is aimed at improving maintenance and -providing a larger catalog with high-quality connectors. - -You can continue to use the Python CDK to build connectors to help your company or projects. -::: - -:::info -Developer updates will be announced via -[#help-connector-development](https://airbytehq.slack.com/archives/C027KKE4BCZ) Slack channel. If you are using the -CDK, please join to stay up to date on changes and issues. -::: - :::info This section is for the Python CDK. See our [community-maintained CDKs section](../README.md#community-maintained-cdks) if you want to write connectors in other @@ -39,18 +21,9 @@ inquire further! ## Getting Started -Generate an empty connector using the code generator. First clone the Airbyte repository, then from the repository -root run +In most cases, you won't need to use the CDK directly, and should start building connectors in Connector Builder, an IDE that is powerd by Airbyte Python CDK. If you do need customization beyond what it offers, you can do so by using `airbyte_cdk` as aa dependency in your Python project. -```bash -cd airbyte-integrations/connector-templates/generator -./generate.sh -``` - -Next, find all `TODO`s in the generated project directory. They're accompanied by comments explaining what you'll -need to do in order to implement your connector. Upon completing all TODOs properly, you should have a functioning connector. - -Additionally, you can follow [this tutorial](../tutorials/custom-python-connector/0-getting-started.md) for a complete walkthrough of creating an HTTP connector using the Airbyte CDK. +[Airbyte CDK reference documentation](https://airbytehq.github.io/airbyte-python-cdk/airbyte_cdk.html) is published automatically with each new CDK release. The rest of this document explains the most basic concepts applicable to any Airbyte API connector. ### Concepts & Documentation @@ -68,64 +41,8 @@ Having trouble figuring out how to write a `stream_slices` function or aren't su #### Practical Tips -Airbyte recommends using the CDK template generator to develop with the CDK. The template generates created all the required scaffolding, with convenient TODOs, allowing developers to truly focus on implementing the API. - -For tips on useful Python knowledge, see the [Python Concepts](python-concepts.md) page. - You can find a complete tutorial for implementing an HTTP source connector in [this tutorial](../tutorials/custom-python-connector/0-getting-started.md) -### Example Connectors - -**HTTP Connectors**: - -- [Stripe](https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connectors/source-stripe/source_stripe/source.py) -- [Slack](https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connectors/source-slack/source_slack/source.py) - -**Simple Python connectors using the barebones `Source` abstraction**: - -- [Google Sheets](https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connectors/source-google-sheets/source_google_sheets/source.py) -- [Mailchimp](https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connectors/source-mailchimp/source_mailchimp/source.py) - ## Contributing -### First time setup - -We assume `python` points to Python 3.9 or higher. - -Setup a virtual env: - -```bash -python -m venv .venv -source .venv/bin/activate -pip install -e ".[tests]" # [tests] installs test-only dependencies -``` - -#### Iteration - -- Iterate on the code locally -- Run tests via `pytest -s unit_tests` -- Perform static type checks using `mypy airbyte_cdk`. `MyPy` configuration is in `.mypy.ini`. -- The `type_check_and_test.sh` script bundles both type checking and testing in one convenient command. Feel free to use it! - -#### Debugging - -While developing your connector, you can print detailed debug information during a sync by specifying the `--debug` flag. This allows you to get a better picture of what is happening during each step of your sync. - -```bash -python main.py read --config secrets/config.json --catalog sample_files/configured_catalog.json --debug -``` - -In addition to preset CDK debug statements, you can also add your own statements to emit debug information specific to your connector: - -```python -self.logger.debug("your debug message here", extra={"debug_field": self.value}) -``` - -#### Testing - -All tests are located in the `unit_tests` directory. Run `pytest --cov=airbyte_cdk unit_tests/` to run them. This also presents a test coverage report. - -#### Publishing a new version to PyPi - -1. Open a PR -2. Once it is approved and merge, an Airbyte member must run the `Publish CDK Manually` workflow using `release-type=major|manor|patch` and setting the changelog message. +We're welcoming all contributions to Airbyte Python CDK! [`airbytehq/airbyte-python-cdk` Github repository](https://github.com/airbytehq/airbyte-python-cdk) CONTRIBUTING.md is the best spot to see up to date guide on how to get started. diff --git a/docs/connector-development/cdk-python/python-concepts.md b/docs/connector-development/cdk-python/python-concepts.md deleted file mode 100644 index 29f280615db..00000000000 --- a/docs/connector-development/cdk-python/python-concepts.md +++ /dev/null @@ -1,58 +0,0 @@ -# Python Concepts - -The Airbyte CDK makes use of various not-so-obvious Python concepts. You might want to revisit these concepts as you implement your connector: - -## Abstract Classes [ABCs \(AbstractBaseClasses\)](https://docs.python.org/3/library/abc.html) and [abstractmethods](https://docs.python.org/3/library/abc.html#abc.abstractmethod) - -You'll want a strong understanding of these as the central API concepts require extending and using them. - -## [Keyword Arguments](https://realpython.com/python-kwargs-and-args/). - -You'll often see this referred to as `**kwargs` in the code. - -## [Properties](https://www.freecodecamp.org/news/python-property-decorator/) - -Note that there are two ways of defining properties: statically and dynamically. - -### Statically - -```text -class Employee(ABC): - @property - @abstractmethod - def job_title(): - """ returns this employee's job title""" - -class Pilot(Employee): - job_title = "pilot" -``` - -Notice how statically defining properties in this manner looks the same as defining variables. You can then reference this property as follows: - -```text -pilot = Pilot() -print(pilot.job_title) # pilot -``` - -### Dynamically - -You can also run arbitrary code to get the value of a property. For example: - -```text -class Employee(ABC): - @property - @abstractmethod - def job_title(): - """ returns this employee's job title""" - -class Pilot(Employee): - def job_title(): - # You can run any arbitrary code and return its result - return "pilot" -``` - -## [Generators](https://wiki.python.org/moin/Generators) - -Generators are basically iterators over arbitrary source data. They are handy because their syntax is extremely concise and feel just like any other list or collection when working with them in code. - -If you see `yield` anywhere in the code -- that's a generator at work. diff --git a/docs/connector-development/config-based/advanced-topics/how-framework-works.md b/docs/connector-development/config-based/advanced-topics/how-framework-works.md index 8537770ff71..7bab0c585d2 100644 --- a/docs/connector-development/config-based/advanced-topics/how-framework-works.md +++ b/docs/connector-development/config-based/advanced-topics/how-framework-works.md @@ -7,4 +7,4 @@ 2. Select the records from the response 3. Repeat for as long as the paginator points to a next page -[connector-flow](../assets/connector-flow.png) \ No newline at end of file +![connector-flow](../assets/connector-flow.png) \ No newline at end of file diff --git a/docs/connector-development/config-based/low-code-cdk-overview.md b/docs/connector-development/config-based/low-code-cdk-overview.md index 1b50244d46d..1031b2d7585 100644 --- a/docs/connector-development/config-based/low-code-cdk-overview.md +++ b/docs/connector-development/config-based/low-code-cdk-overview.md @@ -1,6 +1,6 @@ # Low-code connector development -Airbyte’s low-code framework enables you to build source connectors for REST APIs via a [connector builder UI](https://docs.airbyte.com/connector-development/connector-builder-ui/overview) or by modifying boilerplate YAML files via terminal or text editor. +Airbyte's low-code framework enables you to build source connectors for REST APIs via a [connector builder UI](../connector-builder-ui/overview.md) or by modifying boilerplate YAML files via terminal or text editor. :::info Developer updates will be announced via our [#help-connector-development Slack channel](https://airbytehq.slack.com/archives/C027KKE4BCZ). If you are using the CDK, please join to stay up to date on changes and issues. @@ -75,7 +75,7 @@ To use the low-code framework to build an REST API Source connector: 5. Specify stream schemas 6. Add the connector to the Airbyte platform -For a step-by-step tutorial, refer to the [Getting Started tutorial](./tutorial/0-getting-started.md) or the [video tutorial](https://youtu.be/i7VSL2bDvmw) +For a step-by-step tutorial, refer to the [Getting Started with the Connector Builder](../connector-builder-ui/tutorial.mdx) or the [video tutorial](https://youtu.be/i7VSL2bDvmw) ## Connector Builder UI @@ -107,7 +107,7 @@ The following table describes the components of the YAML file: | `definitions` | Describes the objects to be reused in the YAML connector | | `streams` | Lists the streams of the source | | `check` | Describes how to test the connection to the source by trying to read a record from a specified list of streams and failing if no records could be read | -| `spec` | A [connector specification](https://docs.airbyte.com/understanding-airbyte/airbyte-protocol#actor-specification) which describes the required and optional parameters which can be input by the end user to configure this connector | +| `spec` | A [connector specification](../../understanding-airbyte/airbyte-protocol#actor-specification) which describes the required and optional parameters which can be input by the end user to configure this connector | :::tip Streams define the schema of the data to sync, as well as how to read it from the underlying API source. A stream generally corresponds to a resource within the API. They are analogous to tables for a relational database source. @@ -131,17 +131,6 @@ For each stream, configure the following components: For a deep dive into each of the components, refer to [Understanding the YAML file](./understanding-the-yaml-file/yaml-overview.md) or the [full YAML Schema definition](https://github.com/airbytehq/airbyte-python-cdk/blob/main/airbyte_cdk/sources/declarative/declarative_component_schema.yaml) -## Tutorial - -This section is a tutorial that will guide you through the end-to-end process of implementing a low-code connector. - -0. [Getting started](tutorial/0-getting-started.md) -1. [Creating a source](tutorial/1-create-source.md) -2. [Installing dependencies](tutorial/2-install-dependencies.md) -3. [Connecting to the API](tutorial/3-connecting-to-the-API-source.md) -4. [Reading data](tutorial/4-reading-data.md) -5. [Incremental reads](tutorial/5-incremental-reads.md) -6. [Testing](tutorial/6-testing.md) ## Sample connectors diff --git a/docs/connector-development/config-based/tutorial/0-getting-started.md b/docs/connector-development/config-based/tutorial/0-getting-started.md deleted file mode 100644 index 7a57374263f..00000000000 --- a/docs/connector-development/config-based/tutorial/0-getting-started.md +++ /dev/null @@ -1,49 +0,0 @@ -# Getting Started - -## Summary - -Throughout this tutorial, we'll walk you through the creation of an Airbyte source to read and extract data from an HTTP API. - -We'll build a connector reading data from the Exchange Rates API, but the steps apply to other HTTP APIs you might be interested in integrating with. - -The API documentations can be found [here](https://apilayer.com/marketplace/exchangerates_data-api). -In this tutorial, we will read data from the following endpoints: - -- `Latest Rates Endpoint` -- `Historical Rates Endpoint` - -With the end goal of implementing a `Source` with a single `Stream` containing exchange rates going from a base currency to many other currencies. -The output schema of our stream will look like the following: - -```json -{ - "base": "USD", - "date": "2022-07-15", - "rates": { - "CAD": 1.28, - "EUR": 0.98 - } -} -``` - -## Exchange Rates API Setup - -Before we get started, you'll need to generate an API access key for the Exchange Rates API. -This can be done by signing up for the Free tier plan on [Exchange Rates Data API](https://apilayer.com/marketplace/exchangerates_data-api), not [Exchange Rates API](https://exchangeratesapi.io/): - -1. Visit https://apilayer.com/ and click "Sign In" on the top -2. Finish the sign up process, signing up for the free tier -3. Once you're signed in, visit https://apilayer.com/marketplace/exchangerates_data-api and click "Subscribe" for free -4. On the top right, you'll see an API key. This is your API key. - -## Requirements - -- An Exchange Rates API key -- Python >= 3.10 -- [Poetry](https://python-poetry.org/) -- Docker must be running -- [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md#L1) CLI - -## Next Steps - -Next, we'll [create a Source using the connector generator.](1-create-source.md) diff --git a/docs/connector-development/config-based/tutorial/1-create-source.md b/docs/connector-development/config-based/tutorial/1-create-source.md deleted file mode 100644 index 460e4f05318..00000000000 --- a/docs/connector-development/config-based/tutorial/1-create-source.md +++ /dev/null @@ -1,33 +0,0 @@ -# Step 1: Generate the source connector project locally - -Let's start by cloning the Airbyte repository: - -```bash -git clone git@github.com:airbytehq/airbyte.git -cd airbyte -``` - -Airbyte provides a code generator which bootstraps the scaffolding for our connector. - -```bash -cd airbyte-integrations/connector-templates/generator -./generate.sh -``` - -This will bring up an interactive helper application. Use the arrow keys to pick a template from the list. Select the `Low-code Source` template and then input the name of your connector. The application will create a new directory in `airbyte/airbyte-integrations/connectors/` with the name of your new connector. -The generator will create a new module for your connector with the name `source-`. - -``` -Configuration Based Source -Source name: exchange-rates-tutorial -``` - -For this walkthrough, we'll refer to our source as `exchange-rates-tutorial`. - -## Next steps - -Next, [we'll install dependencies required to run the connector](2-install-dependencies.md) - -## More readings - -- [Connector generator](https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connector-templates/generator/README.md) diff --git a/docs/connector-development/config-based/tutorial/2-install-dependencies.md b/docs/connector-development/config-based/tutorial/2-install-dependencies.md deleted file mode 100644 index 23afd8b8c58..00000000000 --- a/docs/connector-development/config-based/tutorial/2-install-dependencies.md +++ /dev/null @@ -1,37 +0,0 @@ -# Step 2: Install dependencies - -```bash -cd ../../connectors/source-exchange-rates-tutorial -poetry install -``` - -These steps create an initial python environment, and install the dependencies required to run an API Source connector. - -Let's verify everything works as expected by running the Airbyte `spec` operation: - -```bash -poetry run source-exchange-rates-tutorial spec -``` - -You should see an output similar to the one below: - -``` -{"type": "SPEC", "spec": {"documentationUrl": "https://docsurl.com", "connectionSpecification": {"$schema": "http://json-schema.org/draft-07/schema#", "title": "Python Http Tutorial Spec", "type": "object", "required": ["TODO"], "additionalProperties": false, "properties": {"TODO: This schema defines the configuration required for the source. This usually involves metadata such as database and/or authentication information.": {"type": "string", "description": "describe me"}}}}} -``` - -This is a simple sanity check to make sure everything is wired up correctly. -More details on the `spec` operation can be found in [Basic Concepts](https://docs.airbyte.com/connector-development/cdk-python/basic-concepts) and [Defining Stream Schemas](https://docs.airbyte.com/connector-development/cdk-python/schemas). - -For now, note that the `main.py` file is a convenience wrapper to help run the connector. -Its invocation format is `python main.py [args]`. -The module's generated `README.md` contains more details on the supported commands. - -## Next steps - -Next, we'll [connect to the API source](3-connecting-to-the-API-source.md) - -## More readings - -- [Basic Concepts](https://docs.airbyte.com/connector-development/cdk-python/basic-concepts) -- [Defining Stream Schemas](https://docs.airbyte.com/connector-development/cdk-python/schemas) -- The module's generated `README.md` contains more details on the supported commands. diff --git a/docs/connector-development/config-based/tutorial/3-connecting-to-the-API-source.md b/docs/connector-development/config-based/tutorial/3-connecting-to-the-API-source.md deleted file mode 100644 index adab88e68b9..00000000000 --- a/docs/connector-development/config-based/tutorial/3-connecting-to-the-API-source.md +++ /dev/null @@ -1,224 +0,0 @@ -# Step 3: Connecting to the API - -We're now ready to start implementing the connector. - -Over the course of this tutorial, we'll be editing a few files that were generated by the code generator: - -- `source-exchange-rates-tutorial/source_exchange_rates_tutorial/manifest.yaml`: This is the connector manifest. It describes how the data should be read from the API source, as well as what inputs can be used to configure the connector. -- `source-exchange_rates-tutorial/integration_tests/configured_catalog.json`: This is the connector's [catalog](../../../understanding-airbyte/beginners-guide-to-catalog.md). It describes what data is available in a source -- `source-exchange-rates-tutorial/integration_tests/sample_state.json`: This is a sample state object to be used to test [incremental syncs](../../cdk-python/incremental-stream.md). - -We'll also be creating the following files: - -- `source-exchange-rates-tutorial/secrets/config.json`: This is the configuration file we'll be using to test the connector. Its schema should match the schema defined in the spec file. -- `source-exchange-rates-tutorial/secrets/invalid_config.json`: This is an invalid configuration file we'll be using to test the connector. Its schema should match the schema defined in the spec file. -- `source_exchange_rates_tutorial/schemas/rates.json`: This is the [schema definition](../../cdk-python/schemas.md) for the stream we'll implement. - -## Updating the connector spec and config - -Let's populate the specification (`spec`) and the configuration (`secrets/config.json`) so the connector can access the access key and base currency. - -1. We'll add these properties to the `spec` block in the `source-exchange-rates-tutorial/source_exchange_rates_tutorial/manifest.yaml` - -```yaml -spec: - documentation_url: https://docs.airbyte.com/integrations/sources/exchangeratesapi - connection_specification: - $schema: http://json-schema.org/draft-07/schema# - title: exchangeratesapi.io Source Spec - type: object - required: - - access_key - - base - additionalProperties: true - properties: - access_key: - type: string - description: >- - Your API Access Key. See here. The key is - case sensitive. - airbyte_secret: true - base: - type: string - description: >- - ISO reference currency. See here. - examples: - - EUR - - USD -``` - -2. We also need to fill in the connection config in the `secrets/config.json` - Because of the sensitive nature of the access key, we recommend storing this config in the `secrets` directory because it is ignored by git. - -```bash -echo '{"access_key": "", "base": "USD"}' > secrets/config.json -``` - -## Updating the connector definition - -Next, we'll update the connector definition (`source-exchange-rates-tutorial/source_exchange_rates_tutorial/manifest.yaml`). It was generated by the code generation script. -More details on the connector definition file can be found in the [overview](../low-code-cdk-overview.md) and [connection definition](../understanding-the-yaml-file/yaml-overview.md) sections. - -Let's fill this out these TODOs with the information found in the [Exchange Rates API docs](https://apilayer.com/marketplace/exchangerates_data-api). - -1. We'll first set the API's base url. According to the API documentation, the base url is `"https://api.apilayer.com"`. - -```yaml -definitions: - <...> - requester: - url_base: "https://api.apilayer.com" -``` - -2. Then, let's rename the stream from `customers` to `rates`, update the primary key to `date`, and set the path to "/exchangerates_data/latest" as per the API's documentation. This path is specific to the stream, so we'll set it within the `rates_stream` definition - -```yaml -rates_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "rates" - primary_key: "date" - path: "/exchangerates_data/latest" -``` - -We'll also update the reference in the `streams` block - -```yaml -streams: - - "#/definitions/rates_stream" -``` - -3. Update the references in the `check` block - -```yaml -check: - stream_names: - - "rates" -``` - -Adding the reference in the `check` tells the `check` operation to use that stream to test the connection. - -4. Next, we'll set up the authentication. - The Exchange Rates API requires an access key to be passed as header named "apikey". - This can be done using an `ApiKeyAuthenticator`, which we'll configure to point to the config's `access_key` field. - -```yaml -definitions: - <...> - requester: - url_base: "https://api.apilayer.com" - http_method: "GET" - authenticator: - type: ApiKeyAuthenticator - header: "apikey" - api_token: "{{ config['access_key'] }}" -``` - -5. According to the ExchangeRatesApi documentation, we can specify the base currency of interest in a request parameter. Let's assume the user will configure this via the connector configuration in parameter called `base`; we'll pass the value input by the user as a request parameter: - -```yaml -definitions: - <...> - requester: - <...> - request_options_provider: - request_parameters: - base: "{{ config['base'] }}" -``` - -The full connector definition should now look like - -```yaml -version: "0.1.0" - -definitions: - selector: - extractor: - field_path: [] - requester: - url_base: "https://api.apilayer.com" - http_method: "GET" - authenticator: - type: ApiKeyAuthenticator - header: "apikey" - api_token: "{{ config['access_key'] }}" - request_options_provider: - request_parameters: - base: "{{ config['base'] }}" - retriever: - record_selector: - $ref: "#/definitions/selector" - paginator: - type: NoPagination - requester: - $ref: "#/definitions/requester" - base_stream: - retriever: - $ref: "#/definitions/retriever" - rates_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "rates" - primary_key: "date" - path: "/exchangerates_data/latest" - -streams: - - "#/definitions/rates_stream" -check: - stream_names: - - "rates" -spec: - documentation_url: https://docs.airbyte.com/integrations/sources/exchangeratesapi - connection_specification: - $schema: http://json-schema.org/draft-07/schema# - title: exchangeratesapi.io Source Spec - type: object - required: - - access_key - - base - additionalProperties: true - properties: - access_key: - type: string - description: >- - Your API Access Key. See here. The key is - case sensitive. - airbyte_secret: true - base: - type: string - description: >- - ISO reference currency. See here. - examples: - - EUR - - USD -``` - -We can now run the `check` operation, which verifies the connector can connect to the API source. - -```bash -poetry run source-exchange-rates-tutorial check --config secrets/config.json -``` - -which should now succeed with logs similar to: - -``` -{"type": "LOG", "log": {"level": "INFO", "message": "Check succeeded"}} -{"type": "CONNECTION_STATUS", "connectionStatus": {"status": "SUCCEEDED"}} -``` - -## Next steps - -Next, we'll [extract the records from the response](4-reading-data.md) - -## More readings - -- [Config-based connectors overview](../low-code-cdk-overview.md) -- [Authentication](../understanding-the-yaml-file/authentication.md) -- [Request options providers](../understanding-the-yaml-file/request-options.md) -- [Schema definition](../../cdk-python/schemas.md) -- [Connector specification reference](../../connector-specification-reference.md) -- [Beginner's guide to catalog](../../../understanding-airbyte/beginners-guide-to-catalog.md) diff --git a/docs/connector-development/config-based/tutorial/4-reading-data.md b/docs/connector-development/config-based/tutorial/4-reading-data.md deleted file mode 100644 index ed3fd4aa5f3..00000000000 --- a/docs/connector-development/config-based/tutorial/4-reading-data.md +++ /dev/null @@ -1,70 +0,0 @@ -# Step 4: Reading data - -Now that we're able to authenticate to the source API, we'll want to select data from the HTTP responses. -Let's first add the stream to the configured catalog in `source-exchange-rates-tutorial/integration_tests/configured_catalog.json` - -```json -{ - "streams": [ - { - "stream": { - "name": "rates", - "json_schema": {}, - "supported_sync_modes": ["full_refresh"] - }, - "sync_mode": "full_refresh", - "destination_sync_mode": "overwrite" - } - ] -} -``` - -The configured catalog declares the sync modes supported by the stream (full refresh or incremental). -See the [catalog guide](https://docs.airbyte.com/understanding-airbyte/beginners-guide-to-catalog) for more information. - -Let's define the stream schema in `source-exchange-rates-tutorial/source_exchange_rates_tutorial/schemas/rates.json` - -You can download the JSON file describing the output schema with all currencies [here](./exchange_rates_schema.json) for convenience and place it in `schemas/`. - -```bash -curl https://raw.githubusercontent.com/airbytehq/airbyte/master/docs/connector-development/config-based/tutorial/exchange_rates_schema.json > source_exchange_rates_tutorial/schemas/rates.json -``` - -We can also delete the boilerplate schema files - -```bash -rm source_exchange_rates_tutorial/schemas/customers.json -rm source_exchange_rates_tutorial/schemas/employees.json -``` - -As an alternative to storing the stream's data schema to the `schemas/` directory, we can store it inline in the YAML file, by including the optional `schema_loader` key and associated schema in the entry for each stream. More information on how to define a stream's schema in the YAML file can be found [here](../understanding-the-yaml-file/yaml-overview.md). - -Reading from the source can be done by running the `read` operation - -```bash -poetry run source-exchange-rates-tutorial read --config secrets/config.json --catalog integration_tests/configured_catalog.json -``` - -The logs should show that 1 record was read from the stream. - -``` -{"type": "LOG", "log": {"level": "INFO", "message": "Read 1 records from rates stream"}} -{"type": "LOG", "log": {"level": "INFO", "message": "Finished syncing rates"}} -``` - -The `--debug` flag can be set to print out debug information, including the outgoing request and its associated response - -```bash -poetry run source-exchange-rates-tutorial read --config secrets/config.json --catalog integration_tests/configured_catalog.json --debug -``` - -## Next steps - -We now have a working implementation of a connector reading the latest exchange rates for a given currency. -We're however limited to only reading the latest exchange rate value. -Next, we'll [enhance the connector to read data for a given date, which will enable us to backfill the stream with historical data](5-incremental-reads.md). - -## More readings - -- [Record selector](../understanding-the-yaml-file/record-selector.md) -- [Catalog guide](https://docs.airbyte.com/understanding-airbyte/beginners-guide-to-catalog) diff --git a/docs/connector-development/config-based/tutorial/5-incremental-reads.md b/docs/connector-development/config-based/tutorial/5-incremental-reads.md deleted file mode 100644 index 3270e36d76b..00000000000 --- a/docs/connector-development/config-based/tutorial/5-incremental-reads.md +++ /dev/null @@ -1,314 +0,0 @@ -# Step 5: Incremental Reads - -We now have a working implementation of a connector reading the latest exchange rates for a given currency. -In this section, we'll update the source to read historical data instead of only reading the latest exchange rates. - -According to the API documentation, we can read the exchange rate for a specific date by querying the `"/exchangerates_data/{date}"` endpoint instead of `"/exchangerates_data/latest"`. - -We'll now add a `start_date` property to the connector. - -First we'll update the spec block in `source_exchange_rates_tutorial/manifest.yaml` - -```yaml -spec: - documentation_url: https://docs.airbyte.com/integrations/sources/exchangeratesapi - connection_specification: - $schema: http://json-schema.org/draft-07/schema# - title: exchangeratesapi.io Source Spec - type: object - required: - - start_date - - access_key - - base - additionalProperties: true - properties: - start_date: - type: string - description: Start getting data from that date. - pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ - examples: - - YYYY-MM-DD - access_key: - type: string - description: >- - Your API Access Key. See here. The key is - case sensitive. - airbyte_secret: true - base: - type: string - description: >- - ISO reference currency. See here. - examples: - - EUR - - USD -``` - -Then we'll set the `start_date` to last week in our connection config in `secrets/config.json`. -Let's add a start_date field to `secrets/config.json`. -The file should look like - -```json -{ - "access_key": "", - "start_date": "2022-07-26", - "base": "USD" -} -``` - -where the start date should be 7 days in the past. - -And we'll update the `path` in the connector definition to point to `/{{ config.start_date }}`. -Note that we are setting a default value because the `check` operation does not know the `start_date`. We'll default to hitting `/exchangerates_data/latest`: - -```yaml -definitions: - <...> - rates_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "rates" - primary_key: "date" - path: "/exchangerates_data/{{config['start_date'] or 'latest'}}" -``` - -You can test these changes by executing the `read` operation: - -```bash -poetry run source-exchange-rates-tutorial read --config secrets/config.json --catalog integration_tests/configured_catalog.json -``` - -By reading the output record, you should see that we read historical data instead of the latest exchange rate. -For example: - -> "historical": true, "base": "USD", "date": "2022-07-18" - -The connector will now always read data for the start date, which is not exactly what we want. -Instead, we would like to iterate over all the dates between the `start_date` and today and read data for each day. - -We can do this by adding a `DatetimeBasedCursor` to the connector definition, and update the `path` to point to the stream_slice's `start_date`: - -More details on incremental syncs can be found [here](../understanding-the-yaml-file/incremental-syncs.md). - -Let's first define a datetime cursor at the top level of the connector definition: - -```yaml -definitions: - datetime_cursor: - type: "DatetimeBasedCursor" - start_datetime: - datetime: "{{ config['start_date'] }}" - datetime_format: "%Y-%m-%d" - end_datetime: - datetime: "{{ now_utc() }}" - datetime_format: "%Y-%m-%d %H:%M:%S.%f+00:00" - step: "P1D" - datetime_format: "%Y-%m-%d" - cursor_granularity: "P1D" - cursor_field: "date" -``` - -and refer to it in the stream. - -This will generate time windows from the start time until the end time, where each window is exactly one day. -The start time is defined in the config file, while the end time is defined by the `now_utc()` macro, which will evaluate to the current date in the current timezone at runtime. See the section on [string interpolation](../advanced-topics/string-interpolation.md) for more details. - -```yaml -definitions: - <...> - rates_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "rates" - primary_key: "date" - path: "/exchangerates_data/{{config['start_date'] or 'latest'}}" -``` - -We'll also update the base stream to use the datetime cursor: - -```yaml -definitions: - <...> - base_stream: - <...> - incremental_sync: - $ref: "#/definitions/datetime_cursor" -``` - -Finally, we'll update the path to point to the `stream_slice`'s start_time - -```yaml -definitions: - <...> - rates_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "rates" - primary_key: "date" - path: "/exchangerates_data/{{stream_slice['start_time'] or 'latest'}}" -``` - -The full connector definition should now look like `./source_exchange_rates_tutorial/manifest.yaml`: - -```yaml -version: "0.1.0" - -definitions: - selector: - extractor: - field_path: [] - requester: - url_base: "https://api.apilayer.com" - http_method: "GET" - authenticator: - type: ApiKeyAuthenticator - header: "apikey" - api_token: "{{ config['access_key'] }}" - request_options_provider: - request_parameters: - base: "{{ config['base'] }}" - datetime_cursor: - type: "DatetimeBasedCursor" - start_datetime: - datetime: "{{ config['start_date'] }}" - datetime_format: "%Y-%m-%d" - end_datetime: - datetime: "{{ now_utc() }}" - datetime_format: "%Y-%m-%d %H:%M:%S.%f+00:00" - step: "P1D" - datetime_format: "%Y-%m-%d" - cursor_granularity: "P1D" - cursor_field: "date" - retriever: - record_selector: - $ref: "#/definitions/selector" - paginator: - type: NoPagination - requester: - $ref: "#/definitions/requester" - base_stream: - incremental_sync: - $ref: "#/definitions/datetime_cursor" - retriever: - $ref: "#/definitions/retriever" - rates_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "rates" - primary_key: "date" - path: "/exchangerates_data/{{stream_slice['start_time'] or 'latest'}}" -streams: - - "#/definitions/rates_stream" -check: - stream_names: - - "rates" -spec: - documentation_url: https://docs.airbyte.com/integrations/sources/exchangeratesapi - connection_specification: - $schema: http://json-schema.org/draft-07/schema# - title: exchangeratesapi.io Source Spec - type: object - required: - - start_date - - access_key - - base - additionalProperties: true - properties: - start_date: - type: string - description: Start getting data from that date. - pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ - examples: - - YYYY-MM-DD - access_key: - type: string - description: >- - Your API Access Key. See here. The key is - case sensitive. - airbyte_secret: true - base: - type: string - description: >- - ISO reference currency. See here. - examples: - - EUR - - USD -``` - -Running the `read` operation will now read all data for all days between start_date and now: - -```bash -poetry run source-exchange-rates-tutorial read --config secrets/config.json --catalog integration_tests/configured_catalog.json -``` - -The operation should now output more than one record: - -``` -{"type": "LOG", "log": {"level": "INFO", "message": "Read 8 records from rates stream"}} -``` - -## Supporting incremental syncs - -Instead of always reading data for all dates, we would like the connector to only read data for dates we haven't read yet. -This can be achieved by updating the catalog to run in incremental mode (`integration_tests/configured_catalog.json`): - -```json -{ - "streams": [ - { - "stream": { - "name": "rates", - "json_schema": {}, - "supported_sync_modes": ["full_refresh", "incremental"] - }, - "sync_mode": "incremental", - "destination_sync_mode": "overwrite" - } - ] -} -``` - -In addition to records, the `read` operation now also outputs state messages: - -``` -{"type": "STATE", "state": {"data": {"rates": {"date": "2022-07-15"}}}} -``` - -Where the date ("2022-07-15") should be replaced by today's date. - -We can simulate incremental syncs by creating a state file containing the last state produced by the `read` operation. -`source-exchange-rates-tutorial/integration_tests/sample_state.json`: - -```json -{ - "rates": { - "date": "2022-07-15" - } -} -``` - -Running the `read` operation will now only read data for dates later than the given state: - -```bash -poetry run source-exchange-rates-tutorial read --config secrets/config.json --catalog integration_tests/configured_catalog.json --state integration_tests/sample_state.json -``` - -There shouldn't be any data read if the state is today's date: - -``` -{"type": "LOG", "log": {"level": "INFO", "message": "Setting state of rates stream to {'date': '2022-07-15'}"}} -{"type": "LOG", "log": {"level": "INFO", "message": "Read 0 records from rates stream"}} -``` - -## Next steps: - -Next, we'll run the [Connector Acceptance Tests suite to ensure the connector invariants are respected](6-testing.md). - -## More readings - -- [Incremental syncs](../understanding-the-yaml-file/incremental-syncs.md) -- [Partition routers](../understanding-the-yaml-file/partition-router.md) -- [Stream slices](../../cdk-python/stream-slices.md) diff --git a/docs/connector-development/config-based/tutorial/6-testing.md b/docs/connector-development/config-based/tutorial/6-testing.md deleted file mode 100644 index 6eee821827f..00000000000 --- a/docs/connector-development/config-based/tutorial/6-testing.md +++ /dev/null @@ -1,48 +0,0 @@ -# Step 6: Testing - -We should make sure the connector respects the Airbyte specifications before we start using it in production. -This can be done by executing the Connector Acceptance Tests. - -These tests will assert the most basic functionalities work as expected and are configured in `acceptance-test-config.yml`. - -Before running the tests, we'll create an invalid config to make sure the `check` operation fails if the credentials are wrong, and an abnormal state to verify the connector's behavior when running with an abnormal state. - -Update `integration_tests/invalid_config.json` with this content - -```json -{ - "access_key": "", - "start_date": "2022-07-21", - "base": "USD" -} -``` - -and `integration_tests/abnormal_state.json` with - -```json -{ - "rates": { - "date": "2999-12-31" - } -} -``` - -You can run the [acceptance tests](https://github.com/airbytehq/airbyte/blob/master/docs/connector-development/testing-connectors/connector-acceptance-tests-reference.md#L1) with the following commands using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md#L1): - -```bash -airbyte-ci connectors --use-remote-secrets=false --name source-exchange-rates-tutorial test --only-step=acceptance -``` - -## Next steps: - -Next, we'll add the connector to the [Airbyte platform](https://docs.airbyte.com/operator-guides/using-custom-connectors). - -## Read more: - -- [Error handling](../understanding-the-yaml-file/error-handling.md) -- [Pagination](../understanding-the-yaml-file/pagination.md) -- [Testing connectors](../../testing-connectors/README.md) -- [Contribution guide](../../../contributing-to-airbyte/README.md) -- [Greenhouse source](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-greenhouse) -- [Sendgrid source](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-sendgrid) -- [Sentry source](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-sentry) diff --git a/docs/connector-development/config-based/tutorial/exchange_rates_schema.json b/docs/connector-development/config-based/tutorial/exchange_rates_schema.json deleted file mode 100644 index 9462ce0079e..00000000000 --- a/docs/connector-development/config-based/tutorial/exchange_rates_schema.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "type": "object", - "required": ["base", "date", "rates"], - "properties": { - "access_key": { - "type": "string" - }, - "base": { - "type": "string" - }, - "date": { - "type": "string" - }, - "rates": { - "type": "object", - "properties": { - "CAD": { - "type": ["null", "number"] - }, - "HKD": { - "type": ["null", "number"] - }, - "ISK": { - "type": ["null", "number"] - }, - "PHP": { - "type": ["null", "number"] - }, - "DKK": { - "type": ["null", "number"] - }, - "HUF": { - "type": ["null", "number"] - }, - "CZK": { - "type": ["null", "number"] - }, - "GBP": { - "type": ["null", "number"] - }, - "RON": { - "type": ["null", "number"] - }, - "SEK": { - "type": ["null", "number"] - }, - "IDR": { - "type": ["null", "number"] - }, - "INR": { - "type": ["null", "number"] - }, - "BRL": { - "type": ["null", "number"] - }, - "RUB": { - "type": ["null", "number"] - }, - "HRK": { - "type": ["null", "number"] - }, - "JPY": { - "type": ["null", "number"] - }, - "THB": { - "type": ["null", "number"] - }, - "CHF": { - "type": ["null", "number"] - }, - "EUR": { - "type": ["null", "number"] - }, - "MYR": { - "type": ["null", "number"] - }, - "BGN": { - "type": ["null", "number"] - }, - "TRY": { - "type": ["null", "number"] - }, - "CNY": { - "type": ["null", "number"] - }, - "NOK": { - "type": ["null", "number"] - }, - "NZD": { - "type": ["null", "number"] - }, - "ZAR": { - "type": ["null", "number"] - }, - "USD": { - "type": ["null", "number"] - }, - "MXN": { - "type": ["null", "number"] - }, - "SGD": { - "type": ["null", "number"] - }, - "AUD": { - "type": ["null", "number"] - }, - "ILS": { - "type": ["null", "number"] - }, - "KRW": { - "type": ["null", "number"] - }, - "PLN": { - "type": ["null", "number"] - } - } - } - } -} diff --git a/docs/connector-development/tutorials/building-a-java-destination.md b/docs/connector-development/tutorials/building-a-java-destination.md index c5268647ede..3994ec8d303 100644 --- a/docs/connector-development/tutorials/building-a-java-destination.md +++ b/docs/connector-development/tutorials/building-a-java-destination.md @@ -22,7 +22,7 @@ Docker and Java with the versions listed in the ### Creating a destination -- Step 1: Create the destination using the template generator +- Step 1: Create the destination using one of the other connectors as an example - Step 2: Build the newly generated destination - Step 3: Implement `spec` to define the configuration required to run the connector - Step 4: Implement `check` to provide a way to validate configurations provided to the connector @@ -46,18 +46,9 @@ questions you have, or ask us on [slack](https://slack.airbyte.io). ## Explaining Each Step -### Step 1: Create the destination using the template +### Step 1: Create the destination -Airbyte provides a code generator which bootstraps the scaffolding for our connector. - -```bash -$ cd airbyte-integrations/connector-templates/generator # assumes you are starting from the root of the Airbyte project. -$ ./generate.sh -``` - -Select the `Java Destination` template and then input the name of your connector. We'll refer to the -destination as `-destination` in this tutorial, but you should replace `` with the -actual name you used for your connector e.g: `BigQueryDestination` or `bigquery-destination`. +Use `destination-s3` as an example and copy over the relevant build system pieces. ### Step 2: Build the newly generated destination diff --git a/docs/connector-development/tutorials/cdk-speedrun-assets/configured_catalog_pokeapi.json b/docs/connector-development/tutorials/cdk-speedrun-assets/configured_catalog_pokeapi.json deleted file mode 100644 index 72ca528d90f..00000000000 --- a/docs/connector-development/tutorials/cdk-speedrun-assets/configured_catalog_pokeapi.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "streams": [ - { - "stream": { - "name": "pokemon", - "json_schema": { - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "properties": { - "pokemon_name": { - "type": "string" - } - } - }, - "supported_sync_modes": ["full_refresh"] - }, - "sync_mode": "full_refresh", - "destination_sync_mode": "overwrite" - } - ] -} diff --git a/docs/connector-development/tutorials/cdk-speedrun-assets/pokemon.json b/docs/connector-development/tutorials/cdk-speedrun-assets/pokemon.json deleted file mode 100644 index 978d311d0be..00000000000 --- a/docs/connector-development/tutorials/cdk-speedrun-assets/pokemon.json +++ /dev/null @@ -1,271 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "integer"] - }, - "name": { - "type": ["null", "string"] - }, - "base_experience": { - "type": ["null", "integer"] - }, - "height": { - "type": ["null", "integer"] - }, - "is_default ": { - "type": ["null", "boolean"] - }, - "order": { - "type": ["null", "integer"] - }, - "weight": { - "type": ["null", "integer"] - }, - "abilities": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "is_hidden": { - "type": ["null", "boolean"] - }, - "slot": { - "type": ["null", "integer"] - }, - "ability": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - } - } - } - }, - "forms": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - } - }, - "game_indices": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "game_index": { - "type": ["null", "integer"] - }, - "version": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - } - } - } - }, - "held_items": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "item": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - }, - "version_details": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "version": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - }, - "rarity": { - "type": ["null", "string"] - } - } - } - } - } - } - }, - "location_area_encounters": { - "type": ["null", "string"] - }, - "moves": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "move": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - }, - "version_group_details": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "move_learn_method": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - }, - "version_group": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - }, - "level_learned_at": { - "type": ["null", "integer"] - } - } - } - } - } - } - }, - "sprites": { - "type": ["null", "object"], - "properties": { - "front_default": { - "type": ["null", "string"] - }, - "front_shiny": { - "type": ["null", "string"] - }, - "front_female": { - "type": ["null", "string"] - }, - "front_shiny_female": { - "type": ["null", "string"] - }, - "back_default": { - "type": ["null", "string"] - }, - "back_shiny": { - "type": ["null", "string"] - }, - "back_female": { - "type": ["null", "string"] - }, - "back_shiny_female": { - "type": ["null", "string"] - } - } - }, - "species": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - }, - "stats": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "stat": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - }, - "effort": { - "type": ["null", "integer"] - }, - "base_stat": { - "type": ["null", "integer"] - } - } - } - }, - "types": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "slot": { - "type": ["null", "integer"] - }, - "type": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - } - } - } - } - } -} diff --git a/docs/connector-development/tutorials/cdk-speedrun.md b/docs/connector-development/tutorials/cdk-speedrun.md deleted file mode 100644 index 6082912f099..00000000000 --- a/docs/connector-development/tutorials/cdk-speedrun.md +++ /dev/null @@ -1,307 +0,0 @@ -# Python CDK Speedrun: Creating a Source - -## CDK Speedrun \(HTTP API Source Creation Any Route\) - -This is a blazing fast guide to building an HTTP source connector. Think of it as the TL;DR version -of [this tutorial.](custom-python-connector/0-getting-started.md) - -If you are a visual learner and want to see a video version of this guide going over each part in -detail, check it out below. - -[A speedy CDK overview.](https://www.youtube.com/watch?v=kJ3hLoNfz_E) - -## Dependencies - -1. Python >= 3.9 -2. [Poetry](https://python-poetry.org/) -3. Docker - -#### Generate the Template - -```bash -# # clone the repo if you havent already -# git clone --depth 1 https://github.com/airbytehq/airbyte/ -# cd airbyte # start from repo root -cd airbyte-integrations/connector-templates/generator -./generate.sh -``` - -Select the `Python CDK Source` and name it `python-http-example`. - -#### Create Dev Environment - -```bash -cd ../../connectors/source-python-http-example -poetry install -``` - -### Define Connector Inputs - -```bash -cd source_python_http_example -``` - -We're working with the PokeAPI, so we need to define our input schema to reflect that. Open the -`spec.yaml` file here and replace it with: - -```yaml -documentationUrl: https://docs.airbyte.com/integrations/sources/pokeapi -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Pokeapi Spec - type: object - required: - - pokemon_name - properties: - pokemon_name: - type: string - description: Pokemon requested from the API. - pattern: ^[a-z0-9_\-]+$ - examples: - - ditto - - luxray - - snorlax -``` - -As you can see, we have one input to our input schema, which is `pokemon_name`, which is required. -Normally, input schemas will contain information such as API keys and client secrets that need to -get passed down to all endpoints or streams. - -Ok, let's write a function that checks the inputs we just defined. Nuke the `source.py` file. Now -add this code to it. For a crucial time skip, we're going to define all the imports we need in the -future here. Also note that your `AbstractSource` class name must be a camel-cased version of the -name you gave in the generation phase. In our case, this is `SourcePythonHttpExample`. - -```python -from typing import Any, Iterable, List, Mapping, MutableMapping, Optional, Tuple - -import requests -import logging -from airbyte_cdk.sources import AbstractSource -from airbyte_cdk.sources.streams import Stream -from airbyte_cdk.sources.streams.http import HttpStream - -from . import pokemon_list - -logger = logging.getLogger("airbyte") - -class SourcePythonHttpExample(AbstractSource): - def check_connection(self, logger, config) -> Tuple[bool, any]: - logger.info("Checking Pokemon API connection...") - input_pokemon = config["pokemon_name"] - if input_pokemon not in pokemon_list.POKEMON_LIST: - result = f"Input Pokemon {input_pokemon} is invalid. Please check your spelling and input a valid Pokemon." - logger.info(f"PokeAPI connection failed: {result}") - return False, result - else: - logger.info(f"PokeAPI connection success: {input_pokemon} is a valid Pokemon") - return True, None - - def streams(self, config: Mapping[str, Any]) -> List[Stream]: - return [Pokemon(pokemon_name=config["pokemon_name"])] -``` - -Create a new file called `pokemon_list.py` at the same level. This will handle input validation for -us so that we don't input invalid Pokemon. Let's start with a very limited list - any Pokemon not -included in this list will get rejected. - -```python -""" -pokemon_list.py includes a list of all known pokemon for config validation in source.py. -""" - -POKEMON_LIST = [ - "bulbasaur", - "charizard", - "wartortle", - "pikachu", - "crobat", -] -``` - -Test it. - -```bash -cd .. -mkdir sample_files -echo '{"pokemon_name": "pikachu"}' > sample_files/config.json -echo '{"pokemon_name": "chikapu"}' > sample_files/invalid_config.json -poetry run source-python-http-example check --config sample_files/config.json -poetry run source-python-http-example check --config sample_files/invalid_config.json -``` - -Expected output: - -```bash -> poetry run source-python-http-example check --config sample_files/config.json -{"type": "CONNECTION_STATUS", "connectionStatus": {"status": "SUCCEEDED"}} - -> poetry run source-python-http-example check --config sample_files/invalid_config.json -{"type": "CONNECTION_STATUS", "connectionStatus": {"status": "FAILED", "message": "'Input Pokemon chikapu is invalid. Please check your spelling our input a valid Pokemon.'"}} -``` - -### Define your Stream - -In your `source.py` file, add this `Pokemon` class. This stream represents an endpoint you want to -hit, which in our case, is the single [Pokemon endpoint](https://pokeapi.co/docs/v2#pokemon). - -```python -class Pokemon(HttpStream): - url_base = "https://pokeapi.co/api/v2/" - - # Set this as a noop. - primary_key = None - - def __init__(self, pokemon_name: str, **kwargs): - super().__init__(**kwargs) - self.pokemon_name = pokemon_name - - def next_page_token(self, response: requests.Response) -> Optional[Mapping[str, Any]]: - # The API does not offer pagination, so we return None to indicate there are no more pages in the response - return None - - def path( - self, - ) -> str: - return "" # TODO - - def parse_response( - self, - ) -> Iterable[Mapping]: - return None # TODO -``` - -Now download [this file](./cdk-speedrun-assets/pokemon.json). Name it `pokemon.json` and place it in -`/source_python_http_example/schemas`. - -This file defines your output schema for every endpoint that you want to implement. Normally, this -will likely be the most time-consuming section of the connector development process, as it requires -defining the output of the endpoint exactly. This is really important, as Airbyte needs to have -clear expectations for what the stream will output. Note that the name of this stream will be -consistent in the naming of the JSON schema and the `HttpStream` class, as `pokemon.json` and -`Pokemon` respectively in this case. Learn more about schema creation -[here](https://docs.airbyte.com/connector-development/cdk-python/full-refresh-stream#defining-the-streams-schema). - -Test your discover function. You should receive a fairly large JSON object in return. - -```bash -poetry run source-python-http-example discover --config sample_files/config.json -``` - -Note that our discover function is using the `pokemon_name` config variable passed in from the -`Pokemon` stream when we set it in the `__init__` function. - -### Reading Data from the Source - -Update your `Pokemon` class to implement the required functions as follows: - -```python -class Pokemon(HttpStream): - url_base = "https://pokeapi.co/api/v2/" - - # Set this as a noop. - primary_key = None - - def __init__(self, pokemon_name: str, **kwargs): - super().__init__(**kwargs) - # Here's where we set the variable from our input to pass it down to the source. - self.pokemon_name = pokemon_name - - def path(self, **kwargs) -> str: - pokemon_name = self.pokemon_name - # This defines the path to the endpoint that we want to hit. - return f"pokemon/{pokemon_name}" - - def request_params( - self, - stream_state: Mapping[str, Any], - stream_slice: Mapping[str, Any] = None, - next_page_token: Mapping[str, Any] = None, - ) -> MutableMapping[str, Any]: - # The api requires that we include the Pokemon name as a query param so we do that in this method. - return {"pokemon_name": self.pokemon_name} - - def parse_response( - self, - response: requests.Response, - stream_state: Mapping[str, Any], - stream_slice: Mapping[str, Any] = None, - next_page_token: Mapping[str, Any] = None, - ) -> Iterable[Mapping]: - # The response is a simple JSON whose schema matches our stream's schema exactly, - # so we just return a list containing the response. - return [response.json()] - - def next_page_token(self, response: requests.Response) -> Optional[Mapping[str, Any]]: - # While the PokeAPI does offer pagination, we will only ever retrieve one Pokemon with this implementation, - # so we just return None to indicate that there will never be any more pages in the response. - return None -``` - -We now need a catalog that defines all of our streams. We only have one stream: `Pokemon`. Download -that file [here](./cdk-speedrun-assets/configured_catalog_pokeapi.json). Place it in `/sample_files` -named as `configured_catalog.json`. More clearly, this is where we tell Airbyte all the -streams/endpoints we support for the connector and in which sync modes Airbyte can run the connector -on. Learn more about the AirbyteCatalog -[here](https://docs.airbyte.com/understanding-airbyte/beginners-guide-to-catalog) and learn more -about sync modes [here](https://docs.airbyte.com/understanding-airbyte/connections#sync-modes). - -Let's read some data. - -```bash -poetry run source-python-http-example read --config sample_files/config.json --catalog sample_files/configured_catalog.json -``` - -If all goes well, containerize it so you can use it in the UI: - -**Option A: Building the docker image with `airbyte-ci`** - -This is the preferred method for building and testing connectors. - -If you want to open source your connector we encourage you to use our -[`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) -tool to build your connector. It will not use a Dockerfile but will build the connector image from -our -[base image](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/base_images/README.md) -and use our internal build logic to build an image from your Python connector code. - -Running `airbyte-ci connectors --name source- build` will build your connector image. -Once the command is done, you will find your connector image in your local docker host: -`airbyte/source-:dev`. - -**Option B: Building the docker image with a Dockerfile** - -If you don't want to rely on `airbyte-ci` to build your connector, you can build the docker image -using your own Dockerfile. This method is not preferred, and is not supported for certified -connectors. - -Create a `Dockerfile` in the root of your connector directory. The `Dockerfile` should look -something like this: - -```Dockerfile - -FROM airbyte/python-connector-base:1.1.0 - -COPY . ./airbyte/integration_code -RUN pip install ./airbyte/integration_code - -# The entrypoint and default env vars are already set in the base image -# ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" -# ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] -``` - -Please use this as an example. This is not optimized. - -Build your image: - -```bash -docker build . -t airbyte/source-example-python:dev -``` - -You're done. Stop the clock :\) - -## Further reading - -If you have enjoyed the above example, and would like to explore the Python CDK in even more detail, -you may be interested looking at -[how to build a connector to extract data from the Webflow API](https://airbyte.com/tutorials/extract-data-from-the-webflow-api) diff --git a/docs/connector-development/tutorials/custom-python-connector/1-environment-setup.md b/docs/connector-development/tutorials/custom-python-connector/1-environment-setup.md index a9ebd54f5cb..444ab6e8350 100644 --- a/docs/connector-development/tutorials/custom-python-connector/1-environment-setup.md +++ b/docs/connector-development/tutorials/custom-python-connector/1-environment-setup.md @@ -7,36 +7,34 @@ git clone git@github.com:airbytehq/airbyte.git cd airbyte ``` -Use the Airbyte provided code generator which bootstraps the scaffolding for our connector: +Next, you will want to create a new connector. + +## Initialize connector project ```bash -cd airbyte-integrations/connector-templates/generator -./generate.sh +git clone git@github.com:airbytehq/airbyte.git +cd airbyte + +# Make a directory for a new connector and navigate to it +mkdir airbyte-integrations/connectors/source-exchange-rates-tutorial +cd airbyte-integrations/connectors/source-exchange-rates-tutorial + +# Initialize a project, follow Poetry prompts, and then add airbyte-cdk as a dependency. +poetry init +poetry add airbyte-cdk ``` -Select Python CDK Source Set name to `survey-monkey-demo` +For this walkthrough, we'll refer to our source as `exchange-rates-tutorial`. -Next change your working directory to the new connector module. Also change airbyte-cdk version -to the one used for this tutorial in `pyproject.toml`: +## Add Connector Metadata file -```bash -cd ../../connectors/source-survey-monkey-demo -``` +Each Airbyte connector needs to have a valid `metadata.yaml` file in the root of the connector directory. [Here is metadata.yaml format documentation](../../../connector-development/connector-metadata-file.md). -Then create an initial python environment and install the dependencies required to run an API Source connector: +## Implement connector entrypoint scripts -```bash -poetry lock -poetry install --with dev -``` +Airbyte connectors are expected to be able to run `spec`, `check`, `discover`, and `read` commands. You can use `run.py` file in Airbyte connectors as an example of how to implement them. -Let's verify the unit tests pass - -```bash -poetry run pytest unit_tests -``` - -And the check operation fails as expected +## Running operations ```bash poetry run source-survey-monkey-demo check --config secrets/config.json diff --git a/docs/connector-development/tutorials/the-hard-way/adding-incremental-sync.md b/docs/connector-development/tutorials/the-hard-way/adding-incremental-sync.md deleted file mode 100644 index 1f1d01e435f..00000000000 --- a/docs/connector-development/tutorials/the-hard-way/adding-incremental-sync.md +++ /dev/null @@ -1,335 +0,0 @@ -# Adding Incremental Sync to a Source - -## Overview - -This tutorial will assume that you already have a working source. If you do not, feel free to refer -to the [Building a Toy Connector](build-a-connector-the-hard-way.md) tutorial. This tutorial will -build directly off the example from that article. We will also assume that you have a basic -understanding of how Airbyte's Incremental-Append replication strategy works. We have a brief -explanation of it [here](../../../using-airbyte/core-concepts/sync-modes/incremental-append.md). - -## Update Catalog in `discover` - -First we need to identify a given stream in the Source as supporting incremental. This information -is declared in the catalog that the `discover` method returns. You will notice in the stream object -contains a field called `supported_sync_modes`. If we are adding incremental to an existing stream, -we just need to add `"incremental"` to that array. This tells Airbyte that this stream can either be -synced in an incremental fashion. In practice, this will mean that in the UI, a user will have the -ability to configure this type of sync. - -In the example we used in the Toy Connector tutorial, the `discover` method would not look like -this. Note: that "incremental" has been added to the `supported_sync_modes` array. We also set -`source_defined_cursor` to `True` and `default_cursor_field` to `["date"]` to declare that the -Source knows what field to use for the cursor, in this case the date field, and does not require -user input. Nothing else has changed. - -```python -def discover(): - catalog = { - "streams": [{ - "name": "stock_prices", - "supported_sync_modes": ["full_refresh", "incremental"], - "source_defined_cursor": True, - "default_cursor_field": ["date"], - "json_schema": { - "properties": { - "date": { - "type": "string" - }, - "price": { - "type": "number" - }, - "stock_ticker": { - "type": "string" - } - } - } - }] - } - airbyte_message = {"type": "CATALOG", "catalog": catalog} - print(json.dumps(airbyte_message)) -``` - -Also, create a file called `incremental_configured_catalog.json` with the following content: - -```javascript -{ - "streams": [ - { - "stream": { - "name": "stock_prices", - "supported_sync_modes": [ - "full_refresh", - "incremental" - ], - "json_schema": { - "properties": { - "date": { - "type": "string" - }, - "price": { - "type": "number" - }, - "stock_ticker": { - "type": "string" - } - } - } - }, - "sync_mode": "incremental", - "destination_sync_mode": "overwrite" - } - ] -} -``` - -## Update `read` - -Next we will adapt the `read` method that we wrote previously. We need to change three things. - -First, we need to pass it information about what data was replicated in the previous sync. In -Airbyte this is called a `state` object. The structure of the state object is determined by the -Source. This means that each Source can construct a state object that makes sense to it and does not -need to worry about adhering to any other convention. That being said, a pretty typical structure -for a state object is a map of stream name to the last value in the cursor field for that stream. - -In this case we might choose something like this: - -```javascript -{ - "stock_prices": { - "date": "2020-02-01" - } -} -``` - -The second change we need to make to the `read` method is to use the state object so that we only -emit new records. - -Lastly, we need to emit an updated state object, so that the next time this Source runs we do not -resend messages that we have already sent. - -Here's what our updated `read` method would look like. - -```python -def read(config, catalog, state): - # Assert required configuration was provided - if "api_key" not in config or "stock_ticker" not in config: - log_error("Input config must contain the properties 'api_key' and 'stock_ticker'") - sys.exit(1) - - # Find the stock_prices stream if it is present in the input catalog - stock_prices_stream = None - for configured_stream in catalog["streams"]: - if configured_stream["stream"]["name"] == "stock_prices": - stock_prices_stream = configured_stream - - if stock_prices_stream is None: - log_error("No streams selected") - return - - # By default we fetch stock prices for the 7 day period ending with today - today = date.today() - cursor_value = today.strftime("%Y-%m-%d") - from_day = (today - timedelta(days=7)).strftime("%Y-%m-%d") - - # In case of incremental sync, state should contain the last date when we fetched stock prices - if stock_prices_stream["sync_mode"] == "incremental": - if state and "stock_prices" in state and state["stock_prices"].get("date"): - from_date = datetime.strptime(state["stock_prices"].get("date"), "%Y-%m-%d") - from_day = (from_date + timedelta(days=1)).strftime("%Y-%m-%d") - - # If the state indicates that we have already ran the sync up to cursor_value, we can skip the sync - if cursor_value > from_day: - # If we've made it this far, all the configuration is good and we can pull the market data - response = _call_api(ticker=config["stock_ticker"], token = config["api_key"], from_day=from_day, to_day=cursor_value) - if response.status_code != 200: - # In a real scenario we'd handle this error better :) - log_error("Failure occurred when calling Polygon.io API") - sys.exit(1) - else: - # Stock prices are returned sorted by date in ascending order - # We want to output them one by one as AirbyteMessages - response_json = response.json() - if response_json["resultsCount"] > 0: - results = response_json["results"] - for result in results: - data = {"date": datetime.fromtimestamp(result["t"]/1000, tz=timezone.utc).strftime("%Y-%m-%d"), "stock_ticker": config["stock_ticker"], "price": result["c"]} - record = {"stream": "stock_prices", "data": data, "emitted_at": int(datetime.now().timestamp()) * 1000} - output_message = {"type": "RECORD", "record": record} - print(json.dumps(output_message)) - - # We update the cursor as we print out the data, so that next time sync starts where we stopped printing out results - if stock_prices_stream["sync_mode"] == "incremental": - cursor_value = datetime.fromtimestamp(results[len(results)-1]["t"]/1000, tz=timezone.utc).strftime("%Y-%m-%d") - - # Emit new state message. - if stock_prices_stream["sync_mode"] == "incremental": - output_message = {"type": "STATE", "state": {"data": {"stock_prices": {"date": cursor_value}}}} - print(json.dumps(output_message)) -``` - -That code requires to add a new library import in the `source.py` file: - -```python -from datetime import timezone -``` - -We will also need to parse `state` argument in the `run` method. In order to do that, we will modify -the code that calls `read` method from `run` method: - -```python - elif command == "read": - config = read_json(get_input_file_path(parsed_args.config)) - configured_catalog = read_json(get_input_file_path(parsed_args.catalog)) - state = None - if parsed_args.state: - state = read_json(get_input_file_path(parsed_args.state)) - - read(config, configured_catalog, state) -``` - -Finally, we need to pass more arguments to our `_call_api` method in order to fetch only new prices -for incremental sync: - -```python -def _call_api(ticker, token, from_day, to_day): - return requests.get(f"https://api.polygon.io/v2/aggs/ticker/{ticker}/range/1/day/{from_day}/{to_day}?sort=asc&limit=120&apiKey={token}") -``` - -You will notice that in order to test these changes you need a `state` object. If you run an -incremental sync without passing a state object, the new code will output a state object that you -can use with the next sync. If you run this: - -```bash -python source.py read --config secrets/valid_config.json --catalog incremental_configured_catalog.json -``` - -The output will look like following: - -```bash -{"type": "RECORD", "record": {"stream": "stock_prices", "data": {"date": "2022-03-07", "stock_ticker": "TSLA", "price": 804.58}, "emitted_at": 1647294277000}} -{"type": "RECORD", "record": {"stream": "stock_prices", "data": {"date": "2022-03-08", "stock_ticker": "TSLA", "price": 824.4}, "emitted_at": 1647294277000}} -{"type": "RECORD", "record": {"stream": "stock_prices", "data": {"date": "2022-03-09", "stock_ticker": "TSLA", "price": 858.97}, "emitted_at": 1647294277000}} -{"type": "RECORD", "record": {"stream": "stock_prices", "data": {"date": "2022-03-10", "stock_ticker": "TSLA", "price": 838.3}, "emitted_at": 1647294277000}} -{"type": "RECORD", "record": {"stream": "stock_prices", "data": {"date": "2022-03-11", "stock_ticker": "TSLA", "price": 795.35}, "emitted_at": 1647294277000}} -{"type": "STATE", "state": {"data": {"stock_prices": {"date": "2022-03-11"}}}} -``` - -Notice that the last line of output is the state object. Copy the state object: - -```json -{ "stock_prices": { "date": "2022-03-11" } } -``` - -and paste it into a new file (i.e. `state.json`). Now you can run an incremental sync: - -```bash -python source.py read --config secrets/valid_config.json --catalog incremental_configured_catalog.json --state state.json -``` - -## Run the incremental tests - -The -[Connector Acceptance Test (CAT) suite](../../testing-connectors/connector-acceptance-tests-reference) -also includes test cases to ensure that incremental mode is working correctly. - -To enable these tests, modify the existing `acceptance-test-config.yml` by adding the following: - -```yaml -incremental: - - config_path: "secrets/valid_config.json" - configured_catalog_path: "incremental_configured_catalog.json" - future_state_path: "abnormal_state.json" -``` - -Your full `acceptance-test-config.yml` should look something like this: - -```yaml -# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) -# for more information about how to configure these tests -connector_image: airbyte/source-stock-ticker-api:dev -tests: - spec: - - spec_path: "spec.json" - config_path: "secrets/valid_config.json" - connection: - - config_path: "secrets/valid_config.json" - status: "succeed" - - config_path: "secrets/invalid_config.json" - status: "failed" - discovery: - - config_path: "secrets/valid_config.json" - basic_read: - - config_path: "secrets/valid_config.json" - configured_catalog_path: "fullrefresh_configured_catalog.json" - empty_streams: [] - full_refresh: - - config_path: "secrets/valid_config.json" - configured_catalog_path: "fullrefresh_configured_catalog.json" - incremental: - - config_path: "secrets/valid_config.json" - configured_catalog_path: "incremental_configured_catalog.json" - future_state_path: "abnormal_state.json" -``` - -You will also need to create an `abnormal_state.json` file with a date in the future, which should -not produce any records: - -```javascript -{"stock_prices": {"date": "2121-01-01"}} -``` - -And lastly you need to modify the `check` function call to include the new parameters `from_day` and -`to_day` in `source.py`: - -```python -def check(config): - # Validate input configuration by attempting to get the daily closing prices of the input stock ticker - response = _call_api(ticker=config["stock_ticker"], token=config["api_key"], from_day=datetime.now().date()-timedelta(days=1), to_day=datetime.now().date()) - if response.status_code == 200: - result = {"status": "SUCCEEDED"} - elif response.status_code == 403: - # HTTP code 403 means authorization failed so the API key is incorrect - result = {"status": "FAILED", "message": "API Key is incorrect."} - else: - result = {"status": "FAILED", "message": "Input configuration is incorrect. Please verify the input stock ticker and API key."} - - output_message = {"type": "CONNECTION_STATUS", "connectionStatus": result} - print(json.dumps(output_message)) -``` - -Run the tests once again: - -```bash -./acceptance-test-docker.sh -``` - -And finally, you should see a successful test summary: - -``` -collecting ... - test_core.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 86% ████████▋ - test_full_refresh.py ✓ 91% █████████▏ - test_incremental.py ✓✓ 100% ██████████ - - -Results (8.90s): - 22 passed -``` - -That's all you need to do to add incremental functionality to the stock ticker Source. - -You can deploy the new version of your connector simply by running: - -```bash -airbyte-ci connectors --name source-stock-ticker-api build -``` - -Bonus points: go to Airbyte UI and reconfigure the connection to use incremental sync. - -Incremental definitely requires more configurability than full refresh, so your implementation may -deviate slightly depending on whether your cursor field is source defined or user-defined. If you -think you are running into one of those cases, check out our -[incremental](/using-airbyte/core-concepts/sync-modes/incremental-append.md) documentation for more -information on different types of configuration. diff --git a/docs/connector-development/tutorials/the-hard-way/build-a-connector-the-hard-way.md b/docs/connector-development/tutorials/the-hard-way/build-a-connector-the-hard-way.md deleted file mode 100644 index 6e83b07730d..00000000000 --- a/docs/connector-development/tutorials/the-hard-way/build-a-connector-the-hard-way.md +++ /dev/null @@ -1,1215 +0,0 @@ ---- -description: - Building a source connector without using any helpers to learn the Airbyte Specification for - sources ---- - -# Building a Source Connector: The Hard Way - -This tutorial walks you through building a simple Airbyte source without using any helpers to -demonstrate the following concepts in action: - -- [The Airbyte Specification](../../../understanding-airbyte/airbyte-protocol.md) and the interface - implemented by a source connector -- [The AirbyteCatalog](../../../understanding-airbyte/beginners-guide-to-catalog.md) -- [Packaging your connector](https://docs.airbyte.com/connector-development#1.-implement-and-package-the-connector) -- [Testing your connector](../../testing-connectors/connector-acceptance-tests-reference.md) - -:::warning - -**This tutorial is meant for those interested in learning how the Airbyte Specification -works in detail, not for creating production connectors**. If you're building a real source, you -should start with using the [Connector Builder](../../connector-builder-ui/overview), or the -[Connector Development Kit](../../cdk-python/). - -::: - -## Requirements - -To run this tutorial, you'll need: - -- Docker, Python, and Java with the versions listed in the - [tech stack section](../../../understanding-airbyte/tech-stack.md). -- The `requests` Python package installed via `pip install requests` \(or `pip3` if `pip` is linked - to a Python2 installation on your system\) - -## Our connector: a stock ticker API - -The connector will output the daily price of a stock since a given date. We'll leverage -[Polygon.io API](https://polygon.io/) for this. - -:::info - -We'll use Python to implement the connector, but you could build an Airbyte connector in any -language. - -::: - -Here's the outline of what we'll do to build the connector: - -1. Use the Airbyte connector template to bootstrap the connector package -2. Implement the methods required by the Airbyte Specification for our connector: - 1. `spec`: declares the user-provided credentials or configuration needed to run the connector - 2. `check`: tests if the connector can connect with the underlying data source with the - user-provided configuration - 3. `discover`: declares the different streams of data that this connector can output - 4. `read`: reads data from the underlying data source \(The stock ticker API\) -3. Package the connector in a Docker image -4. Test the connector using Airbyte's Connector Acceptance Test Suite -5. Use the connector to create a new Connection and run a sync in Airbyte UI - -[Part 2 of this article](adding-incremental-sync.md) covers: - -- Support [incremental sync](../../../using-airbyte/core-concepts/sync-modes/incremental-append.md) -- Add custom integration tests - -Let's get started! - ---- - -### 1. Bootstrap the connector package - -Start the process from the Airbyte repository root: - -```bash -$ pwd -/Users/sherifnada/code/airbyte -``` - -Airbyte provides a code generator which bootstraps the scaffolding for our connector. Let's use it -by running: - -```bash -$ cd airbyte-integrations/connector-templates/generator -$ ./generate.sh -``` - -Select the `Generic Source` template and call the connector `stock-ticker-api`. - -:::info - -This tutorial uses the bare-bones `Generic Source` template to illustrate how all the pieces -of a connector work together. For real connectors, the generator provides `Python` and -`Python HTTP API` source templates, they use [Airbyte CDK](../../cdk-python/README.md). - -::: - -```bash -$ cd ../../connectors/source-stock-ticker-api -$ ls -Dockerfile README.md acceptance-test-config.yml metadata.yaml -``` - -### 2. Implement the connector in line with the Airbyte Specification - -In the connector package directory, create a single Python file `source.py` that will hold our -implementation: - -```bash -touch source.py -``` - -#### Implement the spec operation - -The `spec` operation is described in the -[Airbyte Protocol](https://docs.airbyte.com/understanding-airbyte/airbyte-protocol/#spec). It's a -way for the connector to tell Airbyte what user inputs it needs in order to connecto to the source -(the stock ticker API in our case). Airbyte expects the command to output a connector specification -in `AirbyteMessage` format. - -To contact the stock ticker API, we need two things: - -1. Which stock ticker we're interested in -2. The API key to use when contacting the API \(you can obtain a free API token from - [Polygon.io](https://polygon.io/dashboard/signup) free plan\) - -:::info - -For reference, the API docs we'll be using -[can be found here](https://polygon.io/docs/stocks/get_v2_aggs_ticker__stocksticker__range__multiplier___timespan___from___to). - -::: - -Let's create a [JSONSchema](http://json-schema.org/) file `spec.json` encoding these two -requirements: - -```javascript -{ - "documentationUrl": "https://polygon.io/docs/stocks/get_v2_aggs_ticker__stocksticker__range__multiplier___timespan___from___to", - "connectionSpecification": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": ["stock_ticker", "api_key"], - "properties": { - "stock_ticker": { - "type": "string", - "title": "Stock Ticker", - "description": "The stock ticker to track", - "examples": ["AAPL", "TSLA", "AMZN"] - }, - "api_key": { - "title": "API Key", - "type": "string", - "description": "The Polygon.io Stocks API key to use to hit the API.", - "airbyte_secret": true - } - } - } -} -``` - -- `documentationUrl` is the URL that will appear in the UI for the user to gain more info about this - connector. Typically this points to - `docs.airbyte.com/integrations/sources/source-` but to keep things simple we won't - show adding documentation -- `title` is the "human readable" title displayed in the UI. Without this field, The Stock Ticker - field will have the title `stock_ticker` in the UI -- `description` will be shown in the Airbyte UI under each field to help the user understand it -- `airbyte_secret` used by Airbyte to determine if the field should be displayed as a password - \(e.g: `********`\) in the UI and not readable from the API - -```bash -$ ls -1 -Dockerfile -README.md -acceptance-test-config.yml -source.py -metadata.yaml -spec.json -``` - -Now, let's edit `source.py` to detect if the program was invoked with the `spec` argument and if so, -output the connector specification: - -```python -# source.py -import argparse # helps parse commandline arguments -import json -import sys -import os -from datetime import datetime - - -def read_json(filepath): - with open(filepath, "r") as f: - return json.loads(f.read()) - - -def log(message): - log_json = {"type": "LOG", "log": message} - print(json.dumps(log_json)) - - -def log_error(error_message): - current_time_in_ms = int(datetime.now().timestamp()) * 1000 - log_json = {"type": "TRACE", "trace": {"type": "ERROR", "emitted_at": current_time_in_ms, "error": {"message": error_message}}} - print(json.dumps(log_json)) - - -def spec(): - # Read the file named spec.json from the module directory as a JSON file - current_script_directory = os.path.dirname(os.path.realpath(__file__)) - spec_path = os.path.join(current_script_directory, "spec.json") - specification = read_json(spec_path) - - # form an Airbyte Message containing the spec and print it to stdout - airbyte_message = {"type": "SPEC", "spec": specification} - # json.dumps converts the JSON (Python dict) to a string - print(json.dumps(airbyte_message)) - - -def run(args): - parent_parser = argparse.ArgumentParser(add_help=False) - main_parser = argparse.ArgumentParser() - subparsers = main_parser.add_subparsers(title="commands", dest="command") - - # Accept the spec command - subparsers.add_parser("spec", help="outputs the json configuration specification", parents=[parent_parser]) - - parsed_args = main_parser.parse_args(args) - command = parsed_args.command - - if command == "spec": - spec() - else: - # If we don't recognize the command log the problem and exit with an error code greater than 0 to indicate the process - # had a failure - log_error("Invalid command. Allowable commands: [spec]") - sys.exit(1) - - # A zero exit code means the process successfully completed - sys.exit(0) - - -def main(): - arguments = sys.argv[1:] - run(arguments) - - -if __name__ == "__main__": - main() -``` - -Some notes on the above code: - -1. As described in the - [specification](https://docs.airbyte.com/understanding-airbyte/airbyte-protocol/#key-takeaways), - Airbyte connectors are CLIs which communicate via stdout, so the output of the command is simply - a JSON string formatted according to the Airbyte Specification. So to "return" a value we use - `print` to output the return value to stdout. -2. All Airbyte commands can output log messages that take the form - `{"type":"LOG", "log":"message"}`, so we create a helper method `log(message)` to allow logging. -3. All Airbyte commands can output error messages that take the form - `{"type":"TRACE", "trace": {"type": "ERROR", "emitted_at": current_time_in_ms, "error": {"message": error_message}}}}`, - so we create a helper method `log_error(message)` to allow error messages. - -Now if we run `python source.py spec` we should see the specification printed out: - -```bash -python source.py spec -{"type": "SPEC", "spec": {"documentationUrl": "https://polygon.io/docs/stocks/get_v2_aggs_ticker__stocksticker__range__multiplier___timespan___from___to", "connectionSpecification": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": ["stock_ticker", "api_key"], "properties": {"stock_ticker": {"type": "string", "title": "Stock Ticker", "description": "The stock ticker to track", "examples": ["AAPL", "TSLA", "AMZN"]}, "api_key": {"type": "string", "description": "The Polygon.io Stocks API key to use to hit the API.", "airbyte_secret": true}}}}} -``` - -#### Implementing check connection - -The second command to implement is the -[check operation](https://docs.airbyte.com/understanding-airbyte/airbyte-protocol/#check) -`check --config `, which tells the user whether a config file they gave us is correct. -In our case, "correct" means they input a valid stock ticker and a correct API key like we declare -via the `spec` operation. - -To achieve this, we'll: - -1. Create valid and invalid configuration files to test the success and failure cases with our - connector. We'll place config files in the `secrets/` directory which is gitignored everywhere in - the Airbyte monorepo by default to avoid accidentally checking in API keys. -2. Add a `check` method which calls the Polygon.io API to verify if the provided token & stock - ticker are correct and output the correct airbyte message. -3. Extend the argument parser to recognize the `check --config ` command and call the - `check` method when the `check` command is invoked. - -Let's first add the configuration files: - -```bash -$ mkdir secrets -$ echo '{"api_key": "put_your_key_here", "stock_ticker": "TSLA"}' > secrets/valid_config.json -$ echo '{"api_key": "not_a_real_key", "stock_ticker": "TSLA"}' > secrets/invalid_config.json -``` - -Make sure to add your actual API key instead of the placeholder value `` when -following the tutorial. - -Then we'll add the `check` method: - -```python -import requests -from datetime import date -from datetime import datetime -from datetime import timedelta - -def _call_api(ticker, token): - today = date.today() - to_day = today.strftime("%Y-%m-%d") - from_day = (today - timedelta(days=7)).strftime("%Y-%m-%d") - return requests.get(f"https://api.polygon.io/v2/aggs/ticker/{ticker}/range/1/day/{from_day}/{to_day}?sort=asc&limit=120&apiKey={token}") - - -def check(config): - # Validate input configuration by attempting to get the daily closing prices of the input stock ticker - response = _call_api(ticker=config["stock_ticker"], token=config["api_key"]) - if response.status_code == 200: - result = {"status": "SUCCEEDED"} - elif response.status_code == 403: - # HTTP code 403 means authorization failed so the API key is incorrect - result = {"status": "FAILED", "message": "API Key is incorrect."} - else: - result = {"status": "FAILED", "message": "Input configuration is incorrect. Please verify the input stock ticker and API key."} - - output_message = {"type": "CONNECTION_STATUS", "connectionStatus": result} - print(json.dumps(output_message)) -``` - -In Airbyte, the contract for input files is that they will be available in the current working -directory if they are not provided as an absolute path. This method helps us achieve that: - -```python -def get_input_file_path(path): - if os.path.isabs(path): - return path - else: - return os.path.join(os.getcwd(), path) -``` - -We'll then add the `check` command support to `run`: - -```python -def run(args): - parent_parser = argparse.ArgumentParser(add_help=False) - main_parser = argparse.ArgumentParser() - subparsers = main_parser.add_subparsers(title="commands", dest="command") - - # Accept the spec command - subparsers.add_parser("spec", help="outputs the json configuration specification", parents=[parent_parser]) - - # Accept the check command - check_parser = subparsers.add_parser("check", help="checks the config used to connect", parents=[parent_parser]) - required_check_parser = check_parser.add_argument_group("required named arguments") - required_check_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") - - parsed_args = main_parser.parse_args(args) - command = parsed_args.command - - if command == "spec": - spec() - elif command == "check": - config_file_path = get_input_file_path(parsed_args.config) - config = read_json(config_file_path) - check(config) - else: - # If we don't recognize the command log the problem and exit with an error code greater than 0 to indicate the process - # had a failure - log_error("Invalid command. Allowable commands: [spec, check]") - sys.exit(1) - - # A zero exit code means the process successfully completed - sys.exit(0) -``` - -Let's test our new method: - -```bash -$ python source.py check --config secrets/valid_config.json -{'type': 'CONNECTION_STATUS', 'connectionStatus': {'status': 'SUCCEEDED'}} -$ python source.py check --config secrets/invalid_config.json -{'type': 'CONNECTION_STATUS', 'connectionStatus': {'status': 'FAILED', 'message': 'API Key is incorrect.'}} -``` - -Our connector is able to detect valid and invalid configs correctly. Two methods down, two more to -go! - -#### Implementing Discover - -The `discover` command outputs a Catalog, a struct that declares the Streams and Fields \(Airbyte's -equivalents of tables and columns\) output by the connector. It also includes metadata around which -features a connector supports \(e.g. which sync modes\). In other words it describes what data is -available in the source. If you'd like to read a bit more about this concept check out our -[Beginner's Guide to the Airbyte Catalog](../../../understanding-airbyte/beginners-guide-to-catalog.md) -or for a more detailed treatment read the -[Airbyte Specification](../../../understanding-airbyte/airbyte-protocol.md). - -The stock ticker connector outputs records belonging to exactly one Stream \(table\). Each record -contains three Fields \(columns\): `date`, `price`, and `stock_ticker`, corresponding to the price -of a stock on a given day. - -To implement `discover`, we'll: - -1. Add a method `discover` in `source.py` which outputs the Catalog. To better understand what a - catalog is, check out our - [Beginner's Guide to the AirbyteCatalog](../../../understanding-airbyte/beginners-guide-to-catalog.md) -2. Extend the arguments parser to use detect the `discover --config ` command and call - the `discover` method - -Let's implement `discover` by adding the following in `source.py`: - -```python -def discover(): - catalog = { - "streams": [{ - "name": "stock_prices", - "supported_sync_modes": ["full_refresh"], - "json_schema": { - "properties": { - "date": { - "type": "string" - }, - "price": { - "type": "number" - }, - "stock_ticker": { - "type": "string" - } - } - } - }] - } - airbyte_message = {"type": "CATALOG", "catalog": catalog} - print(json.dumps(airbyte_message)) -``` - -Note that we describe the schema of the output stream using [JSONSchema](http://json-schema.org/). - -Then we'll extend the arguments parser by adding the following blocks to the `run` method: - -```python -# Accept the discover command -discover_parser = subparsers.add_parser("discover", help="outputs a catalog describing the source's schema", parents=[parent_parser]) -required_discover_parser = discover_parser.add_argument_group("required named arguments") -required_discover_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") -``` - -and - -```python -elif command == "discover": - discover() -``` - -We need to update our list of available commands: - -```python - log("Invalid command. Allowable commands: [spec, check, discover]") -``` - -:::info - -You may be wondering why `config` is a required input to `discover` if it's not used. This -is done for consistency: the Airbyte Specification requires `--config` as an input to `discover` -because many sources require it \(e.g: to discover the tables available in a Postgres database, you -must supply a password\). So instead of guessing whether the flag is required depending on the -connector, we always assume it is required, and the connector can choose whether to use it. - -::: - -The full run method is now below: - -```python -def run(args): - parent_parser = argparse.ArgumentParser(add_help=False) - main_parser = argparse.ArgumentParser() - subparsers = main_parser.add_subparsers(title="commands", dest="command") - - # Accept the spec command - subparsers.add_parser("spec", help="outputs the json configuration specification", parents=[parent_parser]) - - # Accept the check command - check_parser = subparsers.add_parser("check", help="checks the config used to connect", parents=[parent_parser]) - required_check_parser = check_parser.add_argument_group("required named arguments") - required_check_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") - - # Accept the discover command - discover_parser = subparsers.add_parser("discover", help="outputs a catalog describing the source's schema", parents=[parent_parser]) - required_discover_parser = discover_parser.add_argument_group("required named arguments") - required_discover_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") - - parsed_args = main_parser.parse_args(args) - command = parsed_args.command - - if command == "spec": - spec() - elif command == "check": - config_file_path = get_input_file_path(parsed_args.config) - config = read_json(config_file_path) - check(config) - elif command == "discover": - discover() - else: - # If we don't recognize the command log the problem and exit with an error code greater than 0 to indicate the process - # had a failure - log_error("Invalid command. Allowable commands: [spec, check, discover]") - sys.exit(1) - - # A zero exit code means the process successfully completed - sys.exit(0) -``` - -Let's test our new command: - -```bash -$ python source.py discover --config secrets/valid_config.json -{"type": "CATALOG", "catalog": {"streams": [{"name": "stock_prices", "supported_sync_modes": ["full_refresh"], "json_schema": {"properties": {"date": {"type": "string"}, "price": {"type": "number"}, "stock_ticker": {"type": "string"}}}}]}} -``` - -With that, we're done implementing the `discover` command. - -#### Implementing the read operation - -We've done a lot so far, but a connector ultimately exists to read data! This is where the -[`read` command](https://docs.airbyte.com/understanding-airbyte/airbyte-protocol/#read) comes in. -The format of the command is: - -```bash -python source.py read --config --catalog [--state ] -``` - -Each of these are described in the Airbyte Specification in detail, but we'll give a quick -description of the two options we haven't seen so far: - -- `--catalog` points to a Configured Catalog. The Configured Catalog contains the contents for the - Catalog \(remember the Catalog we output from discover?\). It also contains some configuration - information that describes how the data will by replicated. For example, we had - `supported_sync_modes` in the Catalog. In the Configured Catalog, we select which of the - `supported_sync_modes` we want to use by specifying the `sync_mode` field. \(This is the most - complicated concept when working Airbyte, so if it is still not making sense that's okay for now. - If you're just dying to understand how the Configured Catalog works checkout the - [Beginner's Guide to the Airbyte Catalog](../../../understanding-airbyte/beginners-guide-to-catalog.md)\). -- `--state` points to a state file. The state file is only relevant when some Streams are synced - with the sync mode `incremental`, so we'll cover the state file in more detail in the incremental - section below. - -Our connector only supports one Stream, `stock_prices`, so we'd expect the input catalog to contain -that stream configured to sync in full refresh. Since our connector doesn't support incremental sync -yet, we'll ignore the state option for now. - -To read data in our connector, we'll: - -1. Create a configured catalog which tells our connector that we want to sync the `stock_prices` - stream -2. Implement a method `read` in `source.py`. For now we'll always read the last 7 days of a stock - price's data -3. Extend the arguments parser to recognize the `read` command and its arguments - -First, let's create a configured catalog `fullrefresh_configured_catalog.json` to use as test input -for the read operation: - -```javascript -{ - "streams": [ - { - "stream": { - "name": "stock_prices", - "supported_sync_modes": [ - "full_refresh" - ], - "json_schema": { - "properties": { - "date": { - "type": "string" - }, - "price": { - "type": "number" - }, - "stock_ticker": { - "type": "string" - } - } - } - }, - "sync_mode": "full_refresh", - "destination_sync_mode": "overwrite" - } - ] -} - -``` - -Then we'll define the `read` method in `source.py`: - -```python -def log_error(error_message): - current_time_in_ms = int(datetime.now().timestamp()) * 1000 - log_json = {"type": "TRACE", "trace": {"type": "ERROR", "emitted_at": current_time_in_ms, "error": {"message": error_message}}} - print(json.dumps(log_json)) - - -def read(config, catalog): - # Assert required configuration was provided - if "api_key" not in config or "stock_ticker" not in config: - log_error("Input config must contain the properties 'api_key' and 'stock_ticker'") - sys.exit(1) - - # Find the stock_prices stream if it is present in the input catalog - stock_prices_stream = None - for configured_stream in catalog["streams"]: - if configured_stream["stream"]["name"] == "stock_prices": - stock_prices_stream = configured_stream - - if stock_prices_stream is None: - log_error("No stream selected.") - return - - # We only support full_refresh at the moment, so verify the user didn't ask for another sync mode - if stock_prices_stream["sync_mode"] != "full_refresh": - log_error("This connector only supports full refresh syncs! (for now)") - sys.exit(1) - - # If we've made it this far, all the configuration is good and we can pull the last 7 days of market data - response = _call_api(ticker=config["stock_ticker"], token = config["api_key"]) - if response.status_code != 200: - # In a real scenario we'd handle this error better :) - log_error("Failure occurred when calling Polygon.io API") - sys.exit(1) - else: - # Stock prices are returned sorted by date in ascending order - # We want to output them one by one as AirbyteMessages - results = response.json()["results"] - for result in results: - data = {"date": date.fromtimestamp(result["t"]/1000).isoformat(), "stock_ticker": config["stock_ticker"], "price": result["c"]} - record = {"stream": "stock_prices", "data": data, "emitted_at": int(datetime.now().timestamp()) * 1000} - output_message = {"type": "RECORD", "record": record} - print(json.dumps(output_message)) -``` - -After doing some input validation, the code above calls the API to obtain daily prices for the input -stock ticker, then outputs the prices. As always, our output is formatted according to the Airbyte -Specification. Let's update our args parser with the following blocks: - -```python -# Accept the read command -read_parser = subparsers.add_parser("read", help="reads the source and outputs messages to STDOUT", parents=[parent_parser]) -read_parser.add_argument("--state", type=str, required=False, help="path to the json-encoded state file") -required_read_parser = read_parser.add_argument_group("required named arguments") -required_read_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") -required_read_parser.add_argument( - "--catalog", type=str, required=True, help="path to the catalog used to determine which data to read" -) -``` - -and: - -```python -elif command == "read": - config = read_json(get_input_file_path(parsed_args.config)) - configured_catalog = read_json(get_input_file_path(parsed_args.catalog)) - read(config, configured_catalog) -``` - -and: - -```python - log_error("Invalid command. Allowable commands: [spec, check, discover, read]") -``` - -this yields the following `run` method: - -```python -def run(args): - parent_parser = argparse.ArgumentParser(add_help=False) - main_parser = argparse.ArgumentParser() - subparsers = main_parser.add_subparsers(title="commands", dest="command") - - # Accept the spec command - subparsers.add_parser("spec", help="outputs the json configuration specification", parents=[parent_parser]) - - # Accept the check command - check_parser = subparsers.add_parser("check", help="checks the config used to connect", parents=[parent_parser]) - required_check_parser = check_parser.add_argument_group("required named arguments") - required_check_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") - - # Accept the discover command - discover_parser = subparsers.add_parser("discover", help="outputs a catalog describing the source's schema", parents=[parent_parser]) - required_discover_parser = discover_parser.add_argument_group("required named arguments") - required_discover_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") - - # Accept the read command - read_parser = subparsers.add_parser("read", help="reads the source and outputs messages to STDOUT", parents=[parent_parser]) - read_parser.add_argument("--state", type=str, required=False, help="path to the json-encoded state file") - required_read_parser = read_parser.add_argument_group("required named arguments") - required_read_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") - required_read_parser.add_argument( - "--catalog", type=str, required=True, help="path to the catalog used to determine which data to read" - ) - - parsed_args = main_parser.parse_args(args) - command = parsed_args.command - - if command == "spec": - spec() - elif command == "check": - config_file_path = get_input_file_path(parsed_args.config) - config = read_json(config_file_path) - check(config) - elif command == "discover": - discover() - elif command == "read": - config = read_json(get_input_file_path(parsed_args.config)) - configured_catalog = read_json(get_input_file_path(parsed_args.catalog)) - read(config, configured_catalog) - else: - # If we don't recognize the command log the problem and exit with an error code greater than 0 to indicate the process - # had a failure - log_error("Invalid command. Allowable commands: [spec, check, discover, read]") - sys.exit(1) - - # A zero exit code means the process successfully completed - sys.exit(0) -``` - -Let's test out our new command: - -```bash -$ python source.py read --config secrets/valid_config.json --catalog fullrefresh_configured_catalog.json -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-15', 'stock_ticker': 'TSLA', 'price': 633.25}, 'emitted_at': 1608626365000}} -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-16', 'stock_ticker': 'TSLA', 'price': 622.77}, 'emitted_at': 1608626365000}} -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-17', 'stock_ticker': 'TSLA', 'price': 655.9}, 'emitted_at': 1608626365000}} -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-18', 'stock_ticker': 'TSLA', 'price': 695}, 'emitted_at': 1608626365000}} -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-21', 'stock_ticker': 'TSLA', 'price': 649.86}, 'emitted_at': 1608626365000}} -``` - -With this method, we now have a fully functioning connector! Let's pat ourselves on the back for -getting there. - -For reference, the full `source.py` file now looks like this: - -```python -import argparse -import json -import sys -import os -import requests -from datetime import date -from datetime import datetime -from datetime import timedelta - -def read(config, catalog): - # Assert required configuration was provided - if "api_key" not in config or "stock_ticker" not in config: - log_error("Input config must contain the properties 'api_key' and 'stock_ticker'") - sys.exit(1) - - # Find the stock_prices stream if it is present in the input catalog - stock_prices_stream = None - for configured_stream in catalog["streams"]: - if configured_stream["stream"]["name"] == "stock_prices": - stock_prices_stream = configured_stream - - if stock_prices_stream is None: - log_error("No streams selected") - return - - # We only support full_refresh at the moment, so verify the user didn't ask for another sync mode - if stock_prices_stream["sync_mode"] != "full_refresh": - log_error("This connector only supports full refresh syncs! (for now)") - sys.exit(1) - - # If we've made it this far, all the configuration is good and we can pull the last 7 days of market data - response = _call_api(ticker=config["stock_ticker"], token = config["api_key"]) - if response.status_code != 200: - # In a real scenario we'd handle this error better :) - log_error("Failure occurred when calling Polygon.io API") - sys.exit(1) - else: - # Stock prices are returned sorted by date in ascending order - # We want to output them one by one as AirbyteMessages - results = response.json()["results"] - for result in results: - data = {"date": date.fromtimestamp(result["t"]/1000).isoformat(), "stock_ticker": config["stock_ticker"], "price": result["c"]} - record = {"stream": "stock_prices", "data": data, "emitted_at": int(datetime.now().timestamp()) * 1000} - output_message = {"type": "RECORD", "record": record} - print(json.dumps(output_message)) - - -def read_json(filepath): - with open(filepath, "r") as f: - return json.loads(f.read()) - - -def _call_api(ticker, token): - today = date.today() - to_day = today.strftime("%Y-%m-%d") - from_day = (today - timedelta(days=7)).strftime("%Y-%m-%d") - return requests.get(f"https://api.polygon.io/v2/aggs/ticker/{ticker}/range/1/day/{from_day}/{to_day}?sort=asc&limit=120&apiKey={token}") - - -def check(config): - # Assert required configuration was provided - if "api_key" not in config or "stock_ticker" not in config: - log_error("Input config must contain the properties 'api_key' and 'stock_ticker'") - sys.exit(1) - else: - # Validate input configuration by attempting to get the daily closing prices of the input stock ticker - response = _call_api(ticker=config["stock_ticker"], token=config["api_key"]) - if response.status_code == 200: - result = {"status": "SUCCEEDED"} - elif response.status_code == 403: - # HTTP code 403 means authorization failed so the API key is incorrect - result = {"status": "FAILED", "message": "API Key is incorrect."} - else: - # Consider any other code a "generic" failure and tell the user to make sure their config is correct. - result = {"status": "FAILED", "message": "Input configuration is incorrect. Please verify the input stock ticker and API key."} - - # Format the result of the check operation according to the Airbyte Specification - output_message = {"type": "CONNECTION_STATUS", "connectionStatus": result} - print(json.dumps(output_message)) - - -def log(message): - log_json = {"type": "LOG", "log": message} - print(json.dumps(log_json)) - - -def log_error(error_message): - current_time_in_ms = int(datetime.now().timestamp()) * 1000 - log_json = {"type": "TRACE", "trace": {"type": "ERROR", "emitted_at": current_time_in_ms, "error": {"message": error_message}}} - print(json.dumps(log_json)) - - -def discover(): - catalog = { - "streams": [{ - "name": "stock_prices", - "supported_sync_modes": ["full_refresh"], - "json_schema": { - "properties": { - "date": { - "type": "string" - }, - "price": { - "type": "number" - }, - "stock_ticker": { - "type": "string" - } - } - } - }] - } - airbyte_message = {"type": "CATALOG", "catalog": catalog} - print(json.dumps(airbyte_message)) - - -def get_input_file_path(path): - if os.path.isabs(path): - return path - else: - return os.path.join(os.getcwd(), path) - - -def spec(): - # Read the file named spec.json from the module directory as a JSON file - current_script_directory = os.path.dirname(os.path.realpath(__file__)) - spec_path = os.path.join(current_script_directory, "spec.json") - specification = read_json(spec_path) - - # form an Airbyte Message containing the spec and print it to stdout - airbyte_message = {"type": "SPEC", "spec": specification} - # json.dumps converts the JSON (Python dict) to a string - print(json.dumps(airbyte_message)) - - -def run(args): - parent_parser = argparse.ArgumentParser(add_help=False) - main_parser = argparse.ArgumentParser() - subparsers = main_parser.add_subparsers(title="commands", dest="command") - - # Accept the spec command - subparsers.add_parser("spec", help="outputs the json configuration specification", parents=[parent_parser]) - - # Accept the check command - check_parser = subparsers.add_parser("check", help="checks the config used to connect", parents=[parent_parser]) - required_check_parser = check_parser.add_argument_group("required named arguments") - required_check_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") - - # Accept the discover command - discover_parser = subparsers.add_parser("discover", help="outputs a catalog describing the source's schema", parents=[parent_parser]) - required_discover_parser = discover_parser.add_argument_group("required named arguments") - required_discover_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") - - # Accept the read command - read_parser = subparsers.add_parser("read", help="reads the source and outputs messages to STDOUT", parents=[parent_parser]) - read_parser.add_argument("--state", type=str, required=False, help="path to the json-encoded state file") - required_read_parser = read_parser.add_argument_group("required named arguments") - required_read_parser.add_argument("--config", type=str, required=True, help="path to the json configuration file") - required_read_parser.add_argument( - "--catalog", type=str, required=True, help="path to the catalog used to determine which data to read" - ) - - parsed_args = main_parser.parse_args(args) - command = parsed_args.command - - if command == "spec": - spec() - elif command == "check": - config_file_path = get_input_file_path(parsed_args.config) - config = read_json(config_file_path) - check(config) - elif command == "discover": - discover() - elif command == "read": - config = read_json(get_input_file_path(parsed_args.config)) - configured_catalog = read_json(get_input_file_path(parsed_args.catalog)) - read(config, configured_catalog) - else: - # If we don't recognize the command log the problem and exit with an error code greater than 0 to indicate the process - # had a failure - log_error("Invalid command. Allowable commands: [spec, check, discover, read]") - sys.exit(1) - - # A zero exit code means the process successfully completed - sys.exit(0) - - -def main(): - arguments = sys.argv[1:] - run(arguments) - - -if __name__ == "__main__": - main() -``` - -A full connector in about 200 lines of code. Not bad! We're now ready to package & test our -connector then use it in the Airbyte UI. - ---- - -### 3. Package the connector in a Docker image - -Our connector is very lightweight, so the Dockerfile needed to run it is very light as well. Edit -the `Dockerfile` as follows: - -```Dockerfile -FROM python:3.9-slim - -# We change to a directory unique to us -WORKDIR /airbyte/integration_code -# Install any needed Python dependencies -RUN pip install requests -# Copy source files -COPY source.py . -COPY spec.json . - -# When this container is invoked, append the input argemnts to `python source.py` -ENTRYPOINT ["python", "/airbyte/integration_code/source.py"] - -# Airbyte's build system uses these labels to know what to name and tag the docker images produced by this Dockerfile. -LABEL io.airbyte.name=airbyte/source-stock-ticker-api -LABEL io.airbyte.version=0.1.0 - -# In order to launch a source on Kubernetes in a pod, we need to be able to wrap the entrypoint. -# The source connector must specify its entrypoint in the AIRBYTE_ENTRYPOINT variable. -ENV AIRBYTE_ENTRYPOINT='python /airbyte/integration_code/source.py' -``` - -Once we save the `Dockerfile`, we can build the image by running: - -```bash -docker build . -t airbyte/source-stock-ticker-api:dev -``` - -To run any of our commands, we'll need to mount all the inputs into the Docker container first, then -refer to their _mounted_ paths when invoking the connector. This allows the connector to access your -secrets without having to build them into the container. For example, we'd run `check` or `read` as -follows: - -```bash -$ docker run airbyte/source-stock-ticker-api:dev spec -{"type": "SPEC", "spec": {"documentationUrl": "https://polygon.io/docs/stocks/get_v2_aggs_ticker__stocksticker__range__multiplier___timespan___from___to", "connectionSpecification": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": ["stock_ticker", "api_key"], "properties": {"stock_ticker": {"type": "string", "title": "Stock Ticker", "description": "The stock ticker to track", "examples": ["AAPL", "TSLA", "AMZN"]}, "api_key": {"type": "string", "description": "The Polygon.io Stocks API key to use to hit the API.", "airbyte_secret": true}}}}} - -$ docker run -v $(pwd)/secrets/valid_config.json:/data/config.json airbyte/source-stock-ticker-api:dev check --config /data/config.json -{'type': 'CONNECTION_STATUS', 'connectionStatus': {'status': 'SUCCEEDED'}} - -$ docker run -v $(pwd)/secrets/valid_config.json:/data/config.json airbyte/source-stock-ticker-api:dev discover --config /data/config.json -{"type": "CATALOG", "catalog": {"streams": [{"name": "stock_prices", "supported_sync_modes": ["full_refresh"], "json_schema": {"properties": {"date": {"type": "string"}, "price": {"type": "number"}, "stock_ticker": {"type": "string"}}}}]}} - -$ docker run -v $(pwd)/secrets/valid_config.json:/data/config.json -v $(pwd)/fullrefresh_configured_catalog.json:/data/fullrefresh_configured_catalog.json airbyte/source-stock-ticker-api:dev read --config /data/config.json --catalog /data/fullrefresh_configured_catalog.json -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-15', 'stock_ticker': 'TSLA', 'price': 633.25}, 'emitted_at': 1608628424000}} -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-16', 'stock_ticker': 'TSLA', 'price': 622.77}, 'emitted_at': 1608628424000}} -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-17', 'stock_ticker': 'TSLA', 'price': 655.9}, 'emitted_at': 1608628424000}} -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-18', 'stock_ticker': 'TSLA', 'price': 695}, 'emitted_at': 1608628424000}} -{'type': 'RECORD', 'record': {'stream': 'stock_prices', 'data': {'date': '2020-12-21', 'stock_ticker': 'TSLA', 'price': 649.86}, 'emitted_at': 1608628424000}} -``` - ---- - -### 4. Test the connector - -The minimum requirement for testing your connector is to pass the -[Connector Acceptance Test](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) -suite. The connector acceptence test is a blackbox test suite containing a number of tests that -validate your connector behaves as intended by the Airbyte Specification. You're encouraged to add -custom test cases for your connector where it makes sense to do so e.g: to test edge cases that are -not covered by the standard suite. But at the very least, your connector must pass Airbyte's -acceptance test suite. - -The code generator makes a minimal acceptance test configuration. Let's modify it as follows to -setup tests for each operation with valid and invalid credentials. Edit -`acceptance-test-config.yaml` to look as follows: - -```yaml -# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) -# for more information about how to configure these tests -connector_image: airbyte/source-stock-ticker-api:dev -acceptance_tests: - basic_read: - tests: - - config_path: secrets/valid_config.json - configured_catalog_path: fullrefresh_configured_catalog.json - empty_streams: [] - connection: - tests: - - config_path: secrets/valid_config.json - status: succeed - - config_path: secrets/invalid_config.json - status: failed - discovery: - tests: - - config_path: secrets/valid_config.json - full_refresh: - tests: - - config_path: secrets/valid_config.json - configured_catalog_path: fullrefresh_configured_catalog.json - spec: - tests: - - config_path: secrets/valid_config.json - spec_path: spec.json -# incremental: # TODO uncomment this once you implement incremental sync in part 2 of the tutorial -# tests: -# - config_path: "secrets/config.json" -# configured_catalog_path: "integration_tests/configured_catalog.json" -# future_state_path: "integration_tests/abnormal_state.json" -``` - -To run the test suite, we'll use -[`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md). -You can build and install `airbyte-ci` locally from Airbyte repository root by running `make`. -Assuming you have it already: - -```shell -airbyte-ci connectors --name= --use-remote-secrets=false test -``` - -`airbyte-ci` will build and then test your connector, and provide a report on the test results. - -That's it! We've created a fully functioning connector. Now let's get to the exciting part: using it -from the Airbyte UI. - ---- - -### Use the connector in the Airbyte UI - -Let's recap what we've achieved so far: - -1. Implemented a connector -2. Packaged it in a Docker image -3. Ran Connector Acceptance Tests for the connector with `airbyte-ci` - -To use it from the Airbyte UI, we need to: - -1. Publish our connector's Docker image somewhere accessible by Airbyte Core \(Airbyte's server, - scheduler, workers, and webapp infrastructure\) -2. Add the connector via the Airbyte UI and setup a connection from our new connector to a local CSV - file for illustration purposes -3. Run a sync and inspect the output - -#### 1. Publish the Docker image - -Since we're running this tutorial locally, Airbyte will have access to any Docker images available -to your local `docker` daemon. So all we need to do is build & tag our connector. For real -production connectors to be available on Airbyte Cloud, you'd need to publish them on DockerHub. - -Airbyte's build system builds and tags your connector's image correctly by default as part of the -connector's standard `build` process. **From the Airbyte repo root**, run: - -```bash -airbyte-ci connectors --name source-stock-ticker-api build -``` - -This is the equivalent of running `docker build . -t airbyte/source-stock-ticker-api:dev` from the -connector root, where the tag `airbyte/source-stock-ticker-api` is extracted from the label -`LABEL io.airbyte.name` inside your `Dockerfile`. - -Verify the image was built by running: - -```bash -$ docker images | head - REPOSITORY TAG IMAGE ID CREATED SIZE - airbyte/source-stock-ticker-api dev 9494ea93b7d0 16 seconds ago 121MB - 8fe5b49f9ae5 3 hours ago 121MB - 4cb00a551b3c 3 hours ago 121MB - 1caf57c72afd 3 hours ago 121MB -``` - -`airbyte/source-stock-ticker-api` was built and tagged with the `dev` tag. Now let's head to the -last step. - -#### 2. Add the connector via the Airbyte UI - -If the Airbyte server isn't already running, start it by running **from the Airbyte repository -root**: - -```bash -docker compose up -``` - -When Airbyte server is done starting up, it prints the following banner in the log output \(it can -take 10-20 seconds for the server to start\): - -```bash -airbyte-server | 2022-03-11 18:38:33 INFO i.a.s.ServerApp(start):121 - -airbyte-server | ___ _ __ __ -airbyte-server | / | (_)____/ /_ __ __/ /____ -airbyte-server | / /| | / / ___/ __ \/ / / / __/ _ \ -airbyte-server | / ___ |/ / / / /_/ / /_/ / /_/ __/ -airbyte-server | /_/ |_/_/_/ /_.___/\__, /\__/\___/ -airbyte-server | /____/ -airbyte-server | -------------------------------------- -airbyte-server | Now ready at http://localhost:8000/ -airbyte-server | -------------------------------------- -airbyte-server | Version: dev -airbyte-server | -``` - -After you see the above banner printed out in the terminal window where you are running -`docker compose up`, visit [http://localhost:8000](http://localhost:8000) in your browser and log in -with the default credentials: username `airbyte` and password `password`. - -## Setup a connection to sync data in Airbyte - -1. In the UI, click the "Settings" button in the left side bar. Then on the Settings page, select Sources. - -2. Then on the Settings/Sources page, click "+ New Connector" button at the top right. - -3. On the modal that pops up, enter the following information then click "Add" - -4. After you click "Add", the modal will close and you will be back at the Settings page. Now click -"Sources" in the navigation bar on the left: - -5. You will be redirected to Sources page, which, if you have not set up any connections, will be -empty. On the Sources page click "+ new source" in the top right corner: - -6. A new modal will prompt you for details of the new source. Type "Stock Ticker" in the Name field. -Then, find your connector in the Source type dropdown. We have lots of connectors already, so it -might be easier to find your connector by typing part of its name. - -7. After you select your connector in the Source type dropdown, the modal will show two more fields: API Key and Stock Ticker. Remember that `spec.json` file you created at the very beginning of this -tutorial? These fields should correspond to the `properties` section of that file. Copy-paste your -Polygon.io API key and a stock ticker into these fields and then click "Set up source" button at the -bottom right of the modal. - -8. Once you click "Set up source", Airbyte will spin up your connector and run "check" method to verify -the configuration. You will see a progress bar briefly and if the configuration is valid, you will -see a success message, the modal will close and you will see your connector on the updated Sources -page. - -9. Next step is to add a destination. On the same page, click "add destination" and then click "+ add a -new destination": - -10. "New destination" wizard will show up. Type a name (e.g. "Local JSON") into the Name field and -select "Local JSON" in Destination type drop-down. After you select the destination type, type -`/local/tutorial_json` into Destination path field. When we run syncs, we'll find the output on our -local filesystem in `/tmp/airbyte_local/tutorial_json`. - -11. Click "Set up destination" at the lower right of the form. - -12. After that Airbyte will test the destination and prompt you to configure the connection between -Stock Ticker source and Local JSON destination. Select "Mirror source structure" in the Destination -Namespace, check the checkbox next to the stock_prices stream, and click "Set up connection" button -at the bottom of the form. - -13. Ta-da! Your connection is now configured to sync once a day. Airbyte will run the first sync job as soon as your connection is saved. Navigate to "Connections" in the side bar and wait for the first sync to succeed: - -Let's verify the output. From your shell, run: - -```bash -$ cat /tmp/airbyte_local/tutorial_json/_airbyte_raw_stock_prices.jsonl -{"_airbyte_ab_id":"7383c6c1-783a-4a8a-a39c-3890ab562495","_airbyte_emitted_at":1647026803000,"_airbyte_data":{"date":"2022-03-04","stock_ticker":"TSLA","price":838.29}} -{"_airbyte_ab_id":"cf7dc8d9-1ece-4a40-a7d6-35cae54b94e5","_airbyte_emitted_at":1647026803000,"_airbyte_data":{"date":"2022-03-07","stock_ticker":"TSLA","price":804.58}} -{"_airbyte_ab_id":"da7da131-41d2-4ba7-bba1-1a0a5329a30a","_airbyte_emitted_at":1647026803000,"_airbyte_data":{"date":"2022-03-08","stock_ticker":"TSLA","price":824.4}} -{"_airbyte_ab_id":"20df0d78-5a5e-437b-95d8-aa57cf19fce1","_airbyte_emitted_at":1647026803000,"_airbyte_data":{"date":"2022-03-09","stock_ticker":"TSLA","price":858.97}} -{"_airbyte_ab_id":"0b7a8d33-4500-4a6d-9d74-11716bd22f01","_airbyte_emitted_at":1647026803000,"_airbyte_data":{"date":"2022-03-10","stock_ticker":"TSLA","price":838.3}} -``` - -Congratulations! We've successfully written a fully functioning Airbyte connector. You're an Airbyte -contributor now ;\) - -1. Follow the [next tutorial](adding-incremental-sync.md) to implement incremental sync. -2. Implement another connector using the Low-code CDK, - [Connector Builder](../../connector-builder-ui/overview.md), or - [Connector Development Kit](https://github.com/airbytehq/airbyte/tree/master/airbyte-cdk/python/docs/tutorials) -3. We welcome low-code configuration based connector contributions! If you make a connector in the - connector builder and want to share it with everyone using Airbyte, pull requests are welcome! - -## Additional guides - -- [Building a Python Source](https://docs.airbyte.com/connector-development/tutorials/cdk-speedrun) -- [Building a Java Destination](https://docs.airbyte.com/connector-development/tutorials/building-a-java-destination) diff --git a/docs/integrations/sources/pokeapi.md b/docs/integrations/sources/pokeapi.md index 36ac2c92979..1e8d18f76b1 100644 --- a/docs/integrations/sources/pokeapi.md +++ b/docs/integrations/sources/pokeapi.md @@ -5,7 +5,7 @@ The PokéAPI is primarly used as a tutorial and educational resource, as it requires zero dependencies. Learn how Airbyte and this connector works with these tutorials: - [Airbyte Quickstart: An Introduction to Deploying and Syncing](../../using-airbyte/getting-started/readme.md) -- [Airbyte CDK Speedrun: A Quick Primer on Building Source Connectors](../../connector-development/tutorials/cdk-speedrun.md) +- [Using Connector Builder and the low-code CDK](../../connector-development/connector-builder-ui/overview.md) - [How to Build ETL Sources in Under 30 Minutes: A Video Tutorial](https://www.youtube.com/watch?v=kJ3hLoNfz_E&t=13s&ab_channel=Airbyte) ## Features diff --git a/docusaurus/pnpm-lock.yaml b/docusaurus/pnpm-lock.yaml index a33b783fddb..fc0ae47df60 100644 --- a/docusaurus/pnpm-lock.yaml +++ b/docusaurus/pnpm-lock.yaml @@ -191,43 +191,43 @@ importers: version: 7.26.10 '@cmfcmf/docusaurus-search-local': specifier: ^1.1.0 - version: 1.1.0(@docusaurus/core@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(search-insights@2.17.3) + version: 1.1.0(@docusaurus/core@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(search-insights@2.13.0) '@docsearch/react': specifier: 3.1.0 - version: 3.1.0(@types/react@19.0.10)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.1.0(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@docusaurus/core': specifier: ^3.7.0 - version: 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/cssnano-preset': specifier: ^3.7.0 version: 3.7.0 '@docusaurus/module-type-aliases': specifier: ^3.7.0 - version: 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@docusaurus/plugin-client-redirects': specifier: ^3.7.0 - version: 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/plugin-debug': specifier: ^3.7.0 - version: 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/plugin-sitemap': specifier: ^3.7.0 - version: 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/preset-classic': specifier: ^3.7.0 - version: 3.7.0(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(@types/react@19.0.10)(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)(typescript@5.8.2) + version: 3.7.0(@algolia/client-search@4.22.0)(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) '@docusaurus/theme-classic': specifier: ^3.7.0 - version: 3.7.0(@types/react@19.0.10)(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + version: 3.7.0(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/theme-mermaid': specifier: ^3.7.0 - version: 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + version: 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/theme-search-algolia': specifier: ^3.7.0 - version: 3.7.0(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(@types/react@19.0.10)(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)(typescript@5.8.2) + version: 3.7.0(@algolia/client-search@4.22.0)(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) '@docusaurus/types': specifier: ^3.7.0 - version: 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@fortawesome/fontawesome-svg-core': specifier: ^6.5.1 version: 6.5.1 @@ -248,13 +248,13 @@ importers: version: 2.1.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@mdx-js/react': specifier: ^3.0.0 - version: 3.0.0(@types/react@19.0.10)(react@18.2.0) + version: 3.0.0(@types/react@18.2.46)(react@18.2.0) async: specifier: 2.6.4 version: 2.6.4 autoprefixer: specifier: 10.4.16 - version: 10.4.16(postcss@8.5.3) + version: 10.4.16(postcss@8.4.32) classnames: specifier: ^2.3.2 version: 2.3.2 @@ -263,22 +263,22 @@ importers: version: 1.1.1 copy-webpack-plugin: specifier: 11.0.0 - version: 11.0.0(webpack@5.98.0) + version: 11.0.0(webpack@5.95.0) core-js: specifier: 3.35.0 version: 3.35.0 css-declaration-sorter: specifier: 6.3.0 - version: 6.3.0(postcss@8.5.3) + version: 6.3.0(postcss@8.4.32) css-minimizer-webpack-plugin: specifier: 4.0.0 - version: 4.0.0(webpack@5.98.0) + version: 4.0.0(webpack@5.95.0) cssnano: specifier: 6.0.2 - version: 6.0.2(postcss@8.5.3) + version: 6.0.2(postcss@8.4.32) cssnano-preset-advanced: specifier: 6.0.2 - version: 6.0.2(postcss@8.5.3) + version: 6.0.2(postcss@8.4.32) dayjs: specifier: ^1.11.11 version: 1.11.11 @@ -296,7 +296,7 @@ importers: version: 16.4.5 html-loader: specifier: ^4.2.0 - version: 4.2.0(webpack@5.98.0) + version: 4.2.0(webpack@5.95.0) js-yaml: specifier: ^4.1.0 version: 4.1.0 @@ -314,31 +314,31 @@ importers: version: 2.0.1 postcss-convert-values: specifier: 6.0.1 - version: 6.0.1(postcss@8.5.3) + version: 6.0.1(postcss@8.4.32) postcss-discard-comments: specifier: 6.0.1 - version: 6.0.1(postcss@8.5.3) + version: 6.0.1(postcss@8.4.32) postcss-loader: specifier: 7.3.4 - version: 7.3.4(postcss@8.5.3)(typescript@5.8.2)(webpack@5.98.0) + version: 7.3.4(postcss@8.4.32)(typescript@5.3.3)(webpack@5.95.0) postcss-merge-longhand: specifier: 6.0.1 - version: 6.0.1(postcss@8.5.3) + version: 6.0.1(postcss@8.4.32) postcss-merge-rules: specifier: 6.0.2 - version: 6.0.2(postcss@8.5.3) + version: 6.0.2(postcss@8.4.32) postcss-minify-selectors: specifier: 6.0.1 - version: 6.0.1(postcss@8.5.3) + version: 6.0.1(postcss@8.4.32) postcss-normalize-positions: specifier: 6.0.1 - version: 6.0.1(postcss@8.5.3) + version: 6.0.1(postcss@8.4.32) postcss-normalize-repeat-style: specifier: 6.0.1 - version: 6.0.1(postcss@8.5.3) + version: 6.0.1(postcss@8.4.32) postcss-ordered-values: specifier: 6.0.1 - version: 6.0.1(postcss@8.5.3) + version: 6.0.1(postcss@8.4.32) prism-react-renderer: specifier: ^2.3.1 version: 2.3.1(react@18.2.0) @@ -353,7 +353,7 @@ importers: version: 2.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-markdown: specifier: ^8.0.7 - version: 8.0.7(@types/react@19.0.10)(react@18.2.0) + version: 8.0.7(@types/react@18.2.46)(react@18.2.0) react-router: specifier: 5.3.3 version: 5.3.3(react@18.2.0) @@ -377,37 +377,43 @@ importers: version: 5.0.0 webpack-dev-server: specifier: 4.9.2 - version: 4.9.2(webpack@5.98.0) + version: 4.9.2(webpack@5.95.0) yaml-loader: specifier: ^0.8.0 version: 0.8.0 packages: + '@algolia/autocomplete-core@1.13.0': + resolution: {integrity: sha512-0v3mHfkvJBVx0aO1U290EHaLPp9pkUL8zkgbVY0JlitItrbXfYYHQHtNs1TxpA63mQAD0K0LyLzO2x+uWiBbGQ==} + '@algolia/autocomplete-core@1.17.9': resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==} - '@algolia/autocomplete-core@1.18.1': - resolution: {integrity: sha512-+lOAwRkvxTt24AXNu3pT0EfCEh1ZOQkKlrgFa0Ji2jxSbY2WW3gb1k39JBPyXcCLlivdxYPXREdg8ImAF2Nw9Q==} - '@algolia/autocomplete-core@1.6.3': resolution: {integrity: sha512-dqQqRt01fX3YuVFrkceHsoCnzX0bLhrrg8itJI1NM68KjrPYQPYsE+kY8EZTCM4y8VDnhqJErR73xe/ZsV+qAA==} - '@algolia/autocomplete-js@1.18.1': - resolution: {integrity: sha512-uPR+QnN7JU1nbf+m0lrLzSv/ptua72d8EcgWbKN1aacPR9xmdzmuVZoVuHW/Fypgg7ccm7/TlEX98DWnXjffpw==} + '@algolia/autocomplete-js@1.13.0': + resolution: {integrity: sha512-gw2jbkIzSH+xljX3yoOg+5nfJwMh7jqw5T/jy/WPwgmPhn5Mv6PmosCM0huGwH2E88nwxNlY2AhbkDrS4qceAw==} peerDependencies: '@algolia/client-search': '>= 4.5.1 < 6' algoliasearch: '>= 4.9.1 < 6' + '@algolia/autocomplete-plugin-algolia-insights@1.13.0': + resolution: {integrity: sha512-Q0rRUZ72x7piqvJKi1//SBZvoImnYdJLRC7Yaa0rwKtkIVQFl6MmZw/p4AEDSWIu5HY3Ki3bzgYxeDyhm//P/w==} + peerDependencies: + search-insights: '>= 1 < 3' + '@algolia/autocomplete-plugin-algolia-insights@1.17.9': resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==} peerDependencies: search-insights: '>= 1 < 3' - '@algolia/autocomplete-plugin-algolia-insights@1.18.1': - resolution: {integrity: sha512-zrl5trCnSHXkBRZwo2VPw4fN5zT3DowgFR6O2Qh0gTni8HB+aQltJYVwBrFeTvZHHFKNY9Cua4Y1KNsYiJ9Rdw==} + '@algolia/autocomplete-preset-algolia@1.13.0': + resolution: {integrity: sha512-IlanOCLT2EvfygX5cGFR5iKgfhQB0MqCv163ldctq8l0QCVdEOM1VLIQhl0tB3ViJc5XKUB8QZ7V+DcSVtZAuQ==} peerDependencies: - search-insights: '>= 1 < 3' + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' '@algolia/autocomplete-preset-algolia@1.17.9': resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==} @@ -415,8 +421,8 @@ packages: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/autocomplete-preset-algolia@1.18.1': - resolution: {integrity: sha512-ifZV6vfVE9IKNdIe2+JhaBfY78LtnWnYrOFaSxJ7F45ixumSsRw7jCDoHwRxemoceHZzDpaSykSJwcy3XkTswA==} + '@algolia/autocomplete-shared@1.13.0': + resolution: {integrity: sha512-YB7JlPl1coHai3Xd4OdNIMavAMbgx8eHPH9nlEgcrCqCx57njh0qReruTMRxaThBaWIkkl47jZlUnKvb8MjGGQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' @@ -427,132 +433,125 @@ packages: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/autocomplete-shared@1.18.1': - resolution: {integrity: sha512-vMKFYX5+SX+kIaJSMXOtj6zcMBhAWNyQJkfMrsuK38iJRTwemR23nzUE8qd3rHfWh6Iqgj89vDkf/CuOXDYllA==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - '@algolia/autocomplete-shared@1.6.3': resolution: {integrity: sha512-UV46bnkTztyADFaETfzFC5ryIdGVb2zpAoYgu0tfcuYWjhg1KbLXveFffZIrGVoboqmAk1b+jMrl6iCja1i3lg==} - '@algolia/autocomplete-theme-classic@1.18.1': - resolution: {integrity: sha512-ZsHFwU0bj5jG2xDIFbl1PZM6B5NruIVkU7FPumcrhFicQXRUcXyJyNWrqBTCrUBXdtSNYu2eCTUi59aTZJvNPg==} + '@algolia/autocomplete-theme-classic@1.13.0': + resolution: {integrity: sha512-YAyfcpi+VJ0h5PUTThDmc/V2OB47RNlvIBQgffzrjAw5vDkoBcAj5bsReJW8/QtLnRGB85XhrmWoYFtP4W3HgQ==} - '@algolia/cache-browser-local-storage@4.24.0': - resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==} + '@algolia/cache-browser-local-storage@4.22.0': + resolution: {integrity: sha512-uZ1uZMLDZb4qODLfTSNHxSi4fH9RdrQf7DXEzW01dS8XK7QFtFh29N5NGKa9S+Yudf1vUMIF+/RiL4i/J0pWlQ==} - '@algolia/cache-common@4.24.0': - resolution: {integrity: sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==} + '@algolia/cache-common@4.22.0': + resolution: {integrity: sha512-TPwUMlIGPN16eW67qamNQUmxNiGHg/WBqWcrOoCddhqNTqGDPVqmgfaM85LPbt24t3r1z0zEz/tdsmuq3Q6oaA==} - '@algolia/cache-in-memory@4.24.0': - resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==} + '@algolia/cache-in-memory@4.22.0': + resolution: {integrity: sha512-kf4Cio9NpPjzp1+uXQgL4jsMDeck7MP89BYThSvXSjf2A6qV/0KeqQf90TL2ECS02ovLOBXkk98P7qVarM+zGA==} - '@algolia/client-abtesting@5.20.3': - resolution: {integrity: sha512-wPOzHYSsW+H97JkBLmnlOdJSpbb9mIiuNPycUCV5DgzSkJFaI/OFxXfZXAh1gqxK+hf0miKue1C9bltjWljrNA==} + '@algolia/client-abtesting@5.21.0': + resolution: {integrity: sha512-I239aSmXa3pXDhp3AWGaIfesqJBNFA7drUM8SIfNxMIzvQXUnHRf4rW1o77QXLI/nIClNsb8KOLaB62gO9LnlQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-account@4.24.0': - resolution: {integrity: sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==} + '@algolia/client-account@4.22.0': + resolution: {integrity: sha512-Bjb5UXpWmJT+yGWiqAJL0prkENyEZTBzdC+N1vBuHjwIJcjLMjPB6j1hNBRbT12Lmwi55uzqeMIKS69w+0aPzA==} - '@algolia/client-analytics@4.24.0': - resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==} + '@algolia/client-analytics@4.22.0': + resolution: {integrity: sha512-os2K+kHUcwwRa4ArFl5p/3YbF9lN3TLOPkbXXXxOvDpqFh62n9IRZuzfxpHxMPKAQS3Et1s0BkKavnNP02E9Hg==} - '@algolia/client-analytics@5.20.3': - resolution: {integrity: sha512-XE3iduH9lA7iTQacDGofBQyIyIgaX8qbTRRdj1bOCmfzc9b98CoiMwhNwdTifmmMewmN0EhVF3hP8KjKWwX7Yw==} + '@algolia/client-analytics@5.21.0': + resolution: {integrity: sha512-OxoUfeG9G4VE4gS7B4q65KkHzdGsQsDwxQfR5J9uKB8poSGuNlHJWsF3ABqCkc5VliAR0m8KMjsQ9o/kOpEGnQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@4.24.0': - resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==} + '@algolia/client-common@4.22.0': + resolution: {integrity: sha512-BlbkF4qXVWuwTmYxVWvqtatCR3lzXwxx628p1wj1Q7QP2+LsTmGt1DiUYRuy9jG7iMsnlExby6kRMOOlbhv2Ag==} - '@algolia/client-common@5.20.3': - resolution: {integrity: sha512-IYRd/A/R3BXeaQVT2805lZEdWo54v39Lqa7ABOxIYnUvX2vvOMW1AyzCuT0U7Q+uPdD4UW48zksUKRixShcWxA==} + '@algolia/client-common@5.21.0': + resolution: {integrity: sha512-iHLgDQFyZNe9M16vipbx6FGOA8NoMswHrfom/QlCGoyh7ntjGvfMb+J2Ss8rRsAlOWluv8h923Ku3QVaB0oWDQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.20.3': - resolution: {integrity: sha512-QGc/bmDUBgzB71rDL6kihI2e1Mx6G6PxYO5Ks84iL3tDcIel1aFuxtRF14P8saGgdIe1B6I6QkpkeIddZ6vWQw==} + '@algolia/client-insights@5.21.0': + resolution: {integrity: sha512-y7XBO9Iwb75FLDl95AYcWSLIViJTpR5SUUCyKsYhpP9DgyUqWbISqDLXc96TS9shj+H+7VsTKA9cJK8NUfVN6g==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@4.24.0': - resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==} + '@algolia/client-personalization@4.22.0': + resolution: {integrity: sha512-pEOftCxeBdG5pL97WngOBi9w5Vxr5KCV2j2D+xMVZH8MuU/JX7CglDSDDb0ffQWYqcUN+40Ry+xtXEYaGXTGow==} - '@algolia/client-personalization@5.20.3': - resolution: {integrity: sha512-zuM31VNPDJ1LBIwKbYGz/7+CSm+M8EhlljDamTg8AnDilnCpKjBebWZR5Tftv/FdWSro4tnYGOIz1AURQgZ+tQ==} + '@algolia/client-personalization@5.21.0': + resolution: {integrity: sha512-6KU658lD9Tss4oCX6c/O15tNZxw7vR+WAUG95YtZzYG/KGJHTpy2uckqbMmC2cEK4a86FAq4pH5azSJ7cGMjuw==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.20.3': - resolution: {integrity: sha512-Nn872PuOI8qzi1bxMMhJ0t2AzVBqN01jbymBQOkypvZHrrjZPso3iTpuuLLo9gi3yc/08vaaWTAwJfPhxPwJUw==} + '@algolia/client-query-suggestions@5.21.0': + resolution: {integrity: sha512-pG6MyVh1v0X+uwrKHn3U+suHdgJ2C+gug+UGkNHfMELHMsEoWIAQhxMBOFg7hCnWBFjQnuq6qhM3X9X5QO3d9Q==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@4.24.0': - resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==} + '@algolia/client-search@4.22.0': + resolution: {integrity: sha512-bn4qQiIdRPBGCwsNuuqB8rdHhGKKWIij9OqidM1UkQxnSG8yzxHdb7CujM30pvp5EnV7jTqDZRbxacbjYVW20Q==} - '@algolia/client-search@5.20.3': - resolution: {integrity: sha512-9+Fm1ahV8/2goSIPIqZnVitV5yHW5E5xTdKy33xnqGd45A9yVv5tTkudWzEXsbfBB47j9Xb3uYPZjAvV5RHbKA==} + '@algolia/client-search@5.21.0': + resolution: {integrity: sha512-nZfgJH4njBK98tFCmCW1VX/ExH4bNOl9DSboxeXGgvhoL0fG1+4DDr/mrLe21OggVCQqHwXBMh6fFInvBeyhiQ==} engines: {node: '>= 14.0.0'} '@algolia/events@4.0.1': resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} - '@algolia/ingestion@1.20.3': - resolution: {integrity: sha512-5GHNTiZ3saLjTNyr6WkP5hzDg2eFFAYWomvPcm9eHWskjzXt8R0IOiW9kkTS6I6hXBwN5H9Zna5mZDSqqJdg+g==} + '@algolia/ingestion@1.21.0': + resolution: {integrity: sha512-k6MZxLbZphGN5uRri9J/krQQBjUrqNcScPh985XXEFXbSCRvOPKVtjjLdVjGVHXXPOQgKrIZHxIdRNbHS+wVuA==} engines: {node: '>= 14.0.0'} - '@algolia/logger-common@4.24.0': - resolution: {integrity: sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==} + '@algolia/logger-common@4.22.0': + resolution: {integrity: sha512-HMUQTID0ucxNCXs5d1eBJ5q/HuKg8rFVE/vOiLaM4Abfeq1YnTtGV3+rFEhOPWhRQxNDd+YHa4q864IMc0zHpQ==} - '@algolia/logger-console@4.24.0': - resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==} + '@algolia/logger-console@4.22.0': + resolution: {integrity: sha512-7JKb6hgcY64H7CRm3u6DRAiiEVXMvCJV5gRE672QFOUgDxo4aiDpfU61g6Uzy8NKjlEzHMmgG4e2fklELmPXhQ==} - '@algolia/monitoring@1.20.3': - resolution: {integrity: sha512-KUWQbTPoRjP37ivXSQ1+lWMfaifCCMzTnEcEnXwAmherS5Tp7us6BAqQDMGOD4E7xyaS2I8pto6WlOzxH+CxmA==} + '@algolia/monitoring@1.21.0': + resolution: {integrity: sha512-FiW5nnmyHvaGdorqLClw3PM6keXexAMiwbwJ9xzQr4LcNefLG3ln82NafRPgJO/z0dETAOKjds5aSmEFMiITHQ==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@4.24.0': - resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==} - - '@algolia/recommend@5.20.3': - resolution: {integrity: sha512-oo/gG77xTTTclkrdFem0Kmx5+iSRFiwuRRdxZETDjwzCI7svutdbwBgV/Vy4D4QpYaX4nhY/P43k84uEowCE4Q==} + '@algolia/recommend@5.21.0': + resolution: {integrity: sha512-+JXavbbliaLmah5QNgc/TDW/+r0ALa+rGhg5Y7+pF6GpNnzO0L+nlUaDNE8QbiJfz54F9BkwFUnJJeRJAuzTFw==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@4.24.0': - resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==} + '@algolia/requester-browser-xhr@4.22.0': + resolution: {integrity: sha512-BHfv1h7P9/SyvcDJDaRuIwDu2yrDLlXlYmjvaLZTtPw6Ok/ZVhBR55JqW832XN/Fsl6k3LjdkYHHR7xnsa5Wvg==} - '@algolia/requester-browser-xhr@5.20.3': - resolution: {integrity: sha512-BkkW7otbiI/Er1AiEPZs1h7lxbtSO9p09jFhv3/iT8/0Yz0CY79VJ9iq+Wv1+dq/l0OxnMpBy8mozrieGA3mXQ==} + '@algolia/requester-browser-xhr@5.21.0': + resolution: {integrity: sha512-Iw+Yj5hOmo/iixHS94vEAQ3zi5GPpJywhfxn1el/zWo4AvPIte/+1h9Ywgw/+3M7YBj4jgAkScxjxQCxzLBsjA==} engines: {node: '>= 14.0.0'} - '@algolia/requester-common@4.24.0': - resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==} + '@algolia/requester-common@4.22.0': + resolution: {integrity: sha512-Y9cEH/cKjIIZgzvI1aI0ARdtR/xRrOR13g5psCxkdhpgRN0Vcorx+zePhmAa4jdQNqexpxtkUdcKYugBzMZJgQ==} - '@algolia/requester-fetch@5.20.3': - resolution: {integrity: sha512-eAVlXz7UNzTsA1EDr+p0nlIH7WFxo7k3NMxYe8p38DH8YVWLgm2MgOVFUMNg9HCi6ZNOi/A2w/id2ZZ4sKgUOw==} + '@algolia/requester-fetch@5.21.0': + resolution: {integrity: sha512-Z00SRLlIFj3SjYVfsd9Yd3kB3dUwQFAkQG18NunWP7cix2ezXpJqA+xAoEf9vc4QZHdxU3Gm8gHAtRiM2iVaTQ==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@4.24.0': - resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==} + '@algolia/requester-node-http@4.22.0': + resolution: {integrity: sha512-8xHoGpxVhz3u2MYIieHIB6MsnX+vfd5PS4REgglejJ6lPigftRhTdBCToe6zbwq4p0anZXjjPDvNWMlgK2+xYA==} - '@algolia/requester-node-http@5.20.3': - resolution: {integrity: sha512-FqR3pQPfHfQyX1wgcdK6iyqu86yP76MZd4Pzj1y/YLMj9rRmRCY0E0AffKr//nrOFEwv6uY8BQY4fd9/6b0ZCg==} + '@algolia/requester-node-http@5.21.0': + resolution: {integrity: sha512-WqU0VumUILrIeVYCTGZlyyZoC/tbvhiyPxfGRRO1cSjxN558bnJLlR2BvS0SJ5b75dRNK7HDvtXo2QoP9eLfiA==} engines: {node: '>= 14.0.0'} - '@algolia/transporter@4.24.0': - resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==} + '@algolia/transporter@4.22.0': + resolution: {integrity: sha512-ieO1k8x2o77GNvOoC+vAkFKppydQSVfbjM3YrSjLmgywiBejPTvU1R1nEvG59JIIUvtSLrZsLGPkd6vL14zopA==} - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + '@ampproject/remapping@2.2.1': + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} - '@antfu/install-pkg@1.0.0': - resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} - - '@antfu/utils@8.1.1': - resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + '@babel/code-frame@7.23.5': + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.23.5': + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.26.8': resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} engines: {node: '>=6.9.0'} @@ -561,12 +560,20 @@ packages: resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==} engines: {node: '>=6.9.0'} - '@babel/core@7.26.9': - resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==} + '@babel/core@7.26.10': + resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} engines: {node: '>=6.9.0'} - '@babel/generator@7.26.9': - resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} + '@babel/generator@7.23.6': + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.10': + resolution: {integrity: sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.22.5': + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.25.9': @@ -577,16 +584,32 @@ packages: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.23.6': + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.26.5': resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@7.23.7': + resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.26.9': resolution: {integrity: sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.22.15': + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.26.3': resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} engines: {node: '>=6.9.0'} @@ -598,100 +621,162 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-define-polyfill-provider@0.5.0': - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.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-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + '@babel/helper-environment-visitor@7.22.20': + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} '@babel/helper-explode-assignable-expression@7.18.6': resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + '@babel/helper-function-name@7.23.0': + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + '@babel/helper-hoist-variables@7.22.5': + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.23.0': + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.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.22.15': + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + 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.23.3': + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.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.22.5': + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.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.22.5': + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.26.5': resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.22.20': + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.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.22.20': + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.26.5': resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==} 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==} + '@babel/helper-simple-access@7.22.5': + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} 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-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + '@babel/helper-split-export-declaration@7.22.6': + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.23.4': + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} 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.22.20': + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + 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.23.5': + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + 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.22.20': + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + 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.9': - resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==} + '@babel/helpers@7.23.7': + resolution: {integrity: sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.9': - resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} + '@babel/helpers@7.26.10': + resolution: {integrity: sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.23.4': + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.23.6': + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/parser@7.26.10': + resolution: {integrity: sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==} engines: {node: '>=6.0.0'} hasBin: true @@ -731,6 +816,12 @@ packages: peerDependencies: '@babel/core': ^7.13.0 + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7': + resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} engines: {node: '>=6.9.0'} @@ -872,6 +963,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-attributes@7.23.3': + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + 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'} @@ -888,6 +985,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.23.3': + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + 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'} @@ -966,6 +1069,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-async-generator-functions@7.23.7': + resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-async-generator-functions@7.26.8': resolution: {integrity: sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==} engines: {node: '>=6.9.0'} @@ -1008,12 +1117,24 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-class-properties@7.23.3': + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + 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.23.4': + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + '@babel/plugin-transform-class-static-block@7.26.0': resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} engines: {node: '>=6.9.0'} @@ -1056,6 +1177,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-dotall-regex@7.23.3': + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + 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'} @@ -1080,6 +1207,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/plugin-transform-dynamic-import@7.23.4': + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-dynamic-import@7.25.9': resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} engines: {node: '>=6.9.0'} @@ -1098,6 +1231,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-export-namespace-from@7.23.4': + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + 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'} @@ -1128,6 +1267,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-json-strings@7.23.4': + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + 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'} @@ -1146,6 +1291,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-logical-assignment-operators@7.23.4': + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + 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'} @@ -1236,18 +1387,36 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-nullish-coalescing-operator@7.23.4': + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-nullish-coalescing-operator@7.26.6': resolution: {integrity: sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-numeric-separator@7.23.4': + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + 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.23.4': + resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} + 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'} @@ -1266,30 +1435,60 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-optional-catch-binding@7.23.4': + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + 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.23.4': + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + 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.23.3': + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + 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.23.3': + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + 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.23.4': + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + 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'} @@ -1308,8 +1507,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-constant-elements@7.25.9': - resolution: {integrity: sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==} + '@babel/plugin-transform-react-constant-elements@7.23.3': + resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1338,6 +1537,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx@7.23.4': + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + 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'} @@ -1392,8 +1597,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.26.9': - resolution: {integrity: sha512-Jf+8y9wXQbbxvVYTM8gO5oEF2POdNji0NMltEkG7FtmzD9PVz7/lxpqSdTvwsjTMU5HIHuDVNf2SOxLkWi+wPQ==} + '@babel/plugin-transform-runtime@7.26.10': + resolution: {integrity: sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1482,6 +1687,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-property-regex@7.23.3': + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + 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'} @@ -1500,6 +1711,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-sets-regex@7.23.3': + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-transform-unicode-sets-regex@7.25.9': resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} engines: {node: '>=6.9.0'} @@ -1547,47 +1764,47 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + '@babel/runtime-corejs3@7.26.10': resolution: {integrity: sha512-uITFQYO68pMEYR46AHgQoyBg7KPPJDAbGn4jUTIRgCFJIp88MIBUianVOplhZDEec07bp9zIyr4Kp0FCyQzmWg==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.23.7': + resolution: {integrity: sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==} + engines: {node: '>=6.9.0'} + '@babel/runtime@7.26.10': resolution: {integrity: sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.26.9': - resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==} + '@babel/template@7.22.15': + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} '@babel/template@7.26.9': resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.9': - resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} + '@babel/traverse@7.23.7': + resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.9': - resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} + '@babel/traverse@7.26.10': + resolution: {integrity: sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==} engines: {node: '>=6.9.0'} - '@braintree/sanitize-url@7.1.1': - resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} + '@babel/types@7.23.6': + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + engines: {node: '>=6.9.0'} - '@chevrotain/cst-dts-gen@11.0.3': - resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} + '@babel/types@7.26.10': + resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==} + engines: {node: '>=6.9.0'} - '@chevrotain/gast@11.0.3': - resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} - - '@chevrotain/regexp-to-ast@11.0.3': - resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} - - '@chevrotain/types@11.0.3': - resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} - - '@chevrotain/utils@11.0.3': - resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + '@braintree/sanitize-url@6.0.4': + resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} '@cmfcmf/docusaurus-search-local@1.1.0': resolution: {integrity: sha512-0IVb/aA0IK8ZlktuxmgXmluXfcSpo6Vdd2nG21y1aOH9nVYnPP231Dn0H8Ng9Qf9ronQQCDWHnuWpYOr9rUrEQ==} @@ -2065,11 +2282,11 @@ packages: resolution: {integrity: sha512-e7zcB6TPnVzyUaHMJyLSArKa2AG3h9+4CfvKXKKWNx6hRs+p0a+u7HHTJBgo6KW2m+vqDnuIHK4X+bhmoghAFA==} engines: {node: '>=18.0'} - '@floating-ui/core@1.6.9': - resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} + '@floating-ui/core@1.6.8': + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} - '@floating-ui/dom@1.6.13': - resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} + '@floating-ui/dom@1.6.11': + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} '@floating-ui/react-dom@2.1.2': resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} @@ -2077,14 +2294,14 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.28': - resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==} + '@floating-ui/react@0.26.24': + resolution: {integrity: sha512-2ly0pCkZIGEQUq5H8bBK0XJmc1xIK/RM3tvVzY3GBER7IOD1UgmC2Y2tjj4AuS+TC+vTE1KJv2053290jua0Sw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.9': - resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} '@fortawesome/fontawesome-common-types@6.5.1': resolution: {integrity: sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A==} @@ -2129,12 +2346,6 @@ packages: react: ^18 react-dom: ^18 - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - - '@iconify/utils@2.3.0': - resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} - '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2143,23 +2354,34 @@ packages: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jridgewell/gen-mapping@0.3.3': + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + '@jridgewell/resolve-uri@3.1.1': + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.1.2': + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 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/source-map@0.3.5': + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.20': + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -2176,11 +2398,11 @@ packages: peerDependencies: jsep: ^0.4.0||^1.0.0 - '@leichtgewicht/ip-codec@2.0.5': - resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + '@leichtgewicht/ip-codec@2.0.4': + resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} - '@mdx-js/mdx@3.1.0': - resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} + '@mdx-js/mdx@3.0.0': + resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==} '@mdx-js/react@3.0.0': resolution: {integrity: sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==} @@ -2188,9 +2410,6 @@ packages: '@types/react': '>=16' react: '>=16' - '@mermaid-js/parser@0.3.0': - resolution: {integrity: sha512-HsvL6zgE5sUPGgkIDlmAWR1HTNHz2Iy11BAWPTa4Jjabkpguy4Ze2gzfLrg6pdRuBvFwgUYyxiaNqZwrEEXepA==} - '@ndhoule/each@2.0.1': resolution: {integrity: sha512-wHuJw6x+rF6Q9Skgra++KccjBozCr9ymtna0FhxmV/8xT/hZ2ExGYR8SV8prg8x4AH/7mzDYErNGIVHuzHeybw==} @@ -2220,52 +2439,49 @@ packages: resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} - '@pnpm/npm-conf@2.3.1': - resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + '@pnpm/npm-conf@2.2.2': + resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} engines: {node: '>=12'} - '@polka/url@1.0.0-next.28': - resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + '@polka/url@1.0.0-next.24': + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} - '@react-aria/focus@3.19.1': - resolution: {integrity: sha512-bix9Bu1Ue7RPcYmjwcjhB14BMu2qzfJ3tMQLqDc9pweJA66nOw8DThy3IfVr8Z7j2PHktOLf9kcbiZpydKHqzg==} + '@react-aria/focus@3.18.3': + resolution: {integrity: sha512-WKUElg+5zS0D3xlVn8MntNnkzJql2J6MuzAMP8Sv5WTgFDse/XGR842dsxPTIyKKdrWVCRegCuwa4m3n/GzgJw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@react-aria/interactions@3.23.0': - resolution: {integrity: sha512-0qR1atBIWrb7FzQ+Tmr3s8uH5mQdyRH78n0krYaG8tng9+u1JlSi8DGRSaC9ezKyNB84m7vHT207xnHXGeJ3Fg==} + '@react-aria/interactions@3.22.3': + resolution: {integrity: sha512-RRUb/aG+P0IKTIWikY/SylB6bIbLZeztnZY2vbe7RAG5MgVaCgn5HQ45SI15GlTmhsFG8CnF6slJsUFJiNHpbQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@react-aria/ssr@3.9.7': - resolution: {integrity: sha512-GQygZaGlmYjmYM+tiNBA5C6acmiDWF52Nqd40bBp0Znk4M4hP+LTmI0lpI1BuKMw45T8RIhrAsICIfKwZvi2Gg==} + '@react-aria/ssr@3.9.6': + resolution: {integrity: sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==} engines: {node: '>= 12'} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@react-aria/utils@3.27.0': - resolution: {integrity: sha512-p681OtApnKOdbeN8ITfnnYqfdHS0z7GE+4l8EXlfLnr70Rp/9xicBO6d2rU+V/B3JujDw2gPWxYKEnEeh0CGCw==} + '@react-aria/utils@3.25.3': + resolution: {integrity: sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@react-stately/utils@3.10.5': - resolution: {integrity: sha512-iMQSGcpaecghDIh3mZEpZfoFH3ExBwTtuBEcvZ2XnGzCgQjeYXcMdIUwAfVQLXFTdHUHGF6Gu6/dFrYsCzySBQ==} + '@react-stately/utils@3.10.4': + resolution: {integrity: sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@react-types/shared@3.27.0': - resolution: {integrity: sha512-gvznmLhi6JPEf0bsq7SwRYTHAKKq/wcmKqFez9sRdbED+SPMUmK5omfZ6w3EwUFQHbYUa4zPBYedQ7Knv70RMw==} + '@react-types/shared@3.25.0': + resolution: {integrity: sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 '@segment/snippet@4.16.2': resolution: {integrity: sha512-2fgsrt4U+vKv14ohOAsViCEzeZotaawF2Il7YUbmYVrhPn8Hq7xuGznHKRdZeoxScQ87X36xDX2Fzh5bAYRN7g==} - '@sideway/address@4.1.5': - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + '@sideway/address@4.1.4': + resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} '@sideway/formula@3.0.1': resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} @@ -2371,21 +2587,21 @@ packages: resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} engines: {node: '>=14'} - '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@swc/helpers@0.5.13': + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} '@szmarczak/http-timer@5.0.1': resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tanstack/react-virtual@3.13.2': - resolution: {integrity: sha512-LceSUgABBKF6HSsHK2ZqHzQ37IKV/jlaWbHm+NyTa3/WNb/JZVcThDuTainf+PixltOOcFCYXwxbLpOX9sCx+g==} + '@tanstack/react-virtual@3.10.8': + resolution: {integrity: sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@tanstack/virtual-core@3.13.2': - resolution: {integrity: sha512-Qzz4EgzMbO5gKrmqUondCjiHcuu4B1ftHb0pjCut661lXZdGoHeze9f/M8iwsK1t5LGR6aNuNGU7mxkowaW6RQ==} + '@tanstack/virtual-core@3.10.8': + resolution: {integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==} '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} @@ -2406,134 +2622,38 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/d3-array@3.2.1': - resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} + '@types/d3-scale-chromatic@3.0.3': + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} - '@types/d3-axis@3.0.6': - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + '@types/d3-scale@4.0.8': + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} - '@types/d3-brush@3.0.6': - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} - - '@types/d3-chord@3.0.6': - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - - '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - - '@types/d3-contour@3.0.6': - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} - - '@types/d3-delaunay@6.0.4': - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - - '@types/d3-dispatch@3.0.6': - resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} - - '@types/d3-drag@3.0.7': - resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} - - '@types/d3-dsv@3.0.7': - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - - '@types/d3-fetch@3.0.7': - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} - - '@types/d3-force@3.0.10': - resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} - - '@types/d3-format@3.0.4': - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - - '@types/d3-geo@3.1.0': - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} - - '@types/d3-hierarchy@3.1.7': - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - - '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - - '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} - - '@types/d3-polygon@3.0.2': - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - - '@types/d3-quadtree@3.0.6': - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - - '@types/d3-random@3.0.3': - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} - - '@types/d3-scale-chromatic@3.1.0': - resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} - - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - - '@types/d3-selection@3.0.11': - resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} - - '@types/d3-shape@3.1.7': - resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==} - - '@types/d3-time-format@4.0.3': - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - - '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} - - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - - '@types/d3-transition@3.0.9': - resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} - - '@types/d3-zoom@3.0.8': - resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} - - '@types/d3@7.4.3': - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + '@types/d3-time@3.0.3': + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} '@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/estree-jsx@1.0.3': + resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} - '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@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.6': - resolution: {integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==} + '@types/express-serve-static-core@4.17.41': + resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} - '@types/geojson@7946.0.16': - resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} - '@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@2.3.9': + resolution: {integrity: sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==} - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/hast@3.0.3': + resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} '@types/history@4.7.11': resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} @@ -2547,8 +2667,8 @@ packages: '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - '@types/http-proxy@1.17.16': - resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==} + '@types/http-proxy@1.17.14': + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -2565,17 +2685,20 @@ packages: '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdast@4.0.3': + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} - '@types/mdx@2.0.13': - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + '@types/mdx@2.0.10': + resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + '@types/mime@3.0.4': + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} @@ -2583,20 +2706,20 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@22.13.7': - resolution: {integrity: sha512-oU2q+BsQldB9lYxHNp/5aZO+/Bs0Usa74Abo9mAKulz4ahQyXRHK6UVKYIN8KSC8HXwhWSi7b49JnX+txuac0w==} + '@types/node@20.10.6': + resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/prismjs@1.26.5': - resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} + '@types/prismjs@1.26.3': + resolution: {integrity: sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==} - '@types/prop-types@15.7.14': - resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} + '@types/prop-types@15.7.11': + resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - '@types/qs@6.9.18': - resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} + '@types/qs@6.9.11': + resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -2610,8 +2733,8 @@ packages: '@types/react-router@5.1.20': resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} - '@types/react@19.0.10': - resolution: {integrity: sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==} + '@types/react@18.2.46': + resolution: {integrity: sha512-nNCvVBcZlvX4NU1nRRNV/mFl1nNRuTuslAJglQsq+8ldXe5Xv0Wd2f7WTE3jOxhLH2BFfiZGC6GCp+kHQbgG+w==} '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -2619,14 +2742,17 @@ packages: '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + '@types/scheduler@0.16.8': + resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + '@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/serve-static@1.15.5': + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} '@types/sockjs@0.3.36': resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} @@ -2634,68 +2760,68 @@ packages: '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@types/unist@2.0.11': - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} - '@types/ws@8.5.14': - resolution: {integrity: sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==} + '@types/ws@8.5.10': + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.33': - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + '@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/ast@1.12.1': + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} - '@webassemblyjs/floating-point-hex-parser@1.13.2': - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + '@webassemblyjs/floating-point-hex-parser@1.11.6': + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - '@webassemblyjs/helper-api-error@1.13.2': - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + '@webassemblyjs/helper-api-error@1.11.6': + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - '@webassemblyjs/helper-buffer@1.14.1': - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + '@webassemblyjs/helper-buffer@1.12.1': + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} - '@webassemblyjs/helper-numbers@1.13.2': - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + '@webassemblyjs/helper-numbers@1.11.6': + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} - '@webassemblyjs/helper-wasm-bytecode@1.13.2': - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + '@webassemblyjs/helper-wasm-bytecode@1.11.6': + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - '@webassemblyjs/helper-wasm-section@1.14.1': - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + '@webassemblyjs/helper-wasm-section@1.12.1': + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} - '@webassemblyjs/ieee754@1.13.2': - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + '@webassemblyjs/ieee754@1.11.6': + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} - '@webassemblyjs/leb128@1.13.2': - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + '@webassemblyjs/leb128@1.11.6': + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} - '@webassemblyjs/utf8@1.13.2': - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + '@webassemblyjs/utf8@1.11.6': + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - '@webassemblyjs/wasm-edit@1.14.1': - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + '@webassemblyjs/wasm-edit@1.12.1': + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} - '@webassemblyjs/wasm-gen@1.14.1': - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + '@webassemblyjs/wasm-gen@1.12.1': + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} - '@webassemblyjs/wasm-opt@1.14.1': - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + '@webassemblyjs/wasm-opt@1.12.1': + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} - '@webassemblyjs/wasm-parser@1.14.1': - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + '@webassemblyjs/wasm-parser@1.12.1': + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} - '@webassemblyjs/wast-printer@1.14.1': - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + '@webassemblyjs/wast-printer@1.12.1': + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -2707,17 +2833,22 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + 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==} + acorn-walk@8.3.1: + resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} engines: {node: '>=0.4.0'} - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true @@ -2750,19 +2881,19 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - algoliasearch-helper@3.24.1: - resolution: {integrity: sha512-knYRACqLH9UpeR+WRUrBzBFR2ulGuOjI2b525k4PNeqZxeFMHJE7YcL7s6Jh12Qza0rtHqZdgHMfeuaaAkf4wA==} + algoliasearch-helper@3.24.2: + resolution: {integrity: sha512-vBw/INZDfyh/THbVeDy8On8lZqd2qiUAHde5N4N1ygL4SoeLqLGJ4GHneHrDAYsjikRwTTtodEP0fiXl5MxHFQ==} peerDependencies: algoliasearch: '>= 3.1 < 6' - algoliasearch@4.24.0: - resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} + algoliasearch@4.22.0: + resolution: {integrity: sha512-gfceltjkwh7PxXwtkS8KVvdfK+TSNQAWUeNSxf4dA29qW5tf2EGwa8jkJujlT9jLm17cixMVoGNc+GJFO1Mxhg==} - algoliasearch@5.20.3: - resolution: {integrity: sha512-iNC6BGvipaalFfDfDnXUje8GUlW5asj0cTMsZJwO/0rhsyLx1L7GZFAY8wW+eQ6AM4Yge2p5GSE5hrBlfSD90Q==} + algoliasearch@5.21.0: + resolution: {integrity: sha512-hexLq2lSO1K5SW9j21Ubc+q9Ptx7dyRTY7se19U8lhIlVMLCNXWCyQ6C22p9ez8ccX0v7QVmwkl2l1CnuGoO2Q==} engines: {node: '>= 14.0.0'} ansi-align@3.0.1: @@ -2781,10 +2912,14 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -2813,8 +2948,8 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - astring@1.9.0: - resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} hasBin: true async@2.6.4: @@ -2831,8 +2966,8 @@ packages: peerDependencies: postcss: ^8.1.0 - autoprefixer@10.4.20: - resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -2853,8 +2988,8 @@ packages: 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==} + babel-plugin-polyfill-corejs2@0.4.7: + resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -2868,8 +3003,8 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-regenerator@0.5.5: - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + babel-plugin-polyfill-regenerator@0.5.4: + resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -2890,16 +3025,16 @@ packages: big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 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==} + bonjour-service@1.2.0: + resolution: {integrity: sha512-xdzMA6JGckxyJzZByjEWRcfKmDxXaGXZWVftah3FkCqdlePNS9DjHSUN5zkP4oEfz/t0EXXlro88EIhzwMB4zA==} boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -2919,6 +3054,11 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + browserslist@4.24.4: resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -2943,16 +3083,8 @@ packages: resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - - call-bound@1.0.3: - resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} call-me-maybe@1.0.2: @@ -2976,18 +3108,25 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001701: - resolution: {integrity: sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==} + caniuse-lite@1.0.30001572: + resolution: {integrity: sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==} + + caniuse-lite@1.0.30001705: + resolution: {integrity: sha512-S0uyMMiYvA7CxNgomYBwwwPUnWzFD83f3B1ce5jHUfHTH//QL6hHsreI8RVC5606R4ssqravelYO5TU6t8sEyg==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + 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: @@ -3009,28 +3148,16 @@ packages: cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - cheerio@1.0.0: - resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} - engines: {node: '>=18.17'} - cheerio@1.0.0-rc.12: resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} engines: {node: '>= 6'} - chevrotain-allstar@0.3.1: - resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} - peerDependencies: - chevrotain: ^11.0.0 - - chevrotain@11.0.3: - resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} - chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} ci-info@3.9.0: @@ -3052,8 +3179,8 @@ packages: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + cli-table3@0.6.3: + resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} engines: {node: 10.* || >= 12.*} clone-deep@4.0.1: @@ -3064,17 +3191,23 @@ packages: resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==} engines: {node: '>=6'} - clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + clsx@2.1.0: + resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -3117,16 +3250,13 @@ packages: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} - compression@1.8.0: - resolution: {integrity: sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==} + compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} engines: {node: '>= 0.8.0'} concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -3164,8 +3294,8 @@ packages: cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - cookie@0.7.1: - resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} copy-text-to-clipboard@3.2.0: @@ -3178,11 +3308,14 @@ packages: peerDependencies: webpack: ^5.1.0 - core-js-compat@3.40.0: - resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==} + core-js-compat@3.35.0: + resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} - core-js-pure@3.41.0: - resolution: {integrity: sha512-71Gzp96T9YPk63aUvE5Q5qP+DryB4ZloUZPSOebGM88VNw8VNfvdA7z6kGA8iGOTEzAomsRidp4jXSmUIJsL+Q==} + core-js-compat@3.41.0: + resolution: {integrity: sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==} + + core-js-pure@3.35.0: + resolution: {integrity: sha512-f+eRYmkou59uh7BPcyJ8MC76DiGhspj1KMxVIcF24tzP8NA9HVa1uC7BTW2tgx7E1QVCzDzsgp7kArrzhlz8Ew==} core-js@3.35.0: resolution: {integrity: sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==} @@ -3193,9 +3326,6 @@ packages: cose-base@1.0.3: resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} - cosmiconfig@6.0.0: resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} engines: {node: '>=8'} @@ -3209,8 +3339,8 @@ packages: typescript: optional: true - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} crypto-random-string@4.0.0: @@ -3235,6 +3365,12 @@ packages: peerDependencies: postcss: ^8.0.9 + css-declaration-sorter@7.1.1: + resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + css-declaration-sorter@7.2.0: resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} engines: {node: ^14 || ^16 || >=18} @@ -3247,17 +3383,11 @@ packages: peerDependencies: postcss: ^8.4 - css-loader@6.11.0: - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + css-loader@6.8.1: + resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} 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@4.0.0: resolution: {integrity: sha512-7ZXXRzRHvofv3Uac5Y+RkWRNo0ZMlcg8e9/OtrqUYmwDWJo+qs67GvdeFrXLsFb7czKNwjQhPkM0avlIYl+1nA==} @@ -3315,8 +3445,8 @@ packages: css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - css-selector-parser@3.0.5: - resolution: {integrity: sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==} + css-selector-parser@3.0.4: + resolution: {integrity: sha512-pnmS1dbKsz6KA4EW4BznyPL2xxkNDRg62hcD0v8g6DEw2W7hxOln5M953jsp9hmw5Dg57S6o/A8GOn37mbAgcQ==} css-tree@1.1.3: resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} @@ -3334,8 +3464,8 @@ packages: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} - cssdb@8.2.3: - resolution: {integrity: sha512-9BDG5XmJrJQQnJ51VFxXCAtpZ5ebDlAREmO8sxMOVU0aSxN/gocbctjIG5LMh3WBUq+xTlb/jw2LoljBEqraTA==} + cssdb@8.2.4: + resolution: {integrity: sha512-3KSCVkjZJe/QxicVXnbyYSY26WsFc1YoMY7jep1ZKWMEVc7jEm6V2Xq2r+MX8WKQIuB7ofGbnr5iVI+aZpoSzg==} cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} @@ -3360,6 +3490,12 @@ packages: peerDependencies: postcss: ^8.2.15 + cssnano-preset-default@6.0.3: + resolution: {integrity: sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA==} + 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} @@ -3372,6 +3508,12 @@ packages: peerDependencies: postcss: ^8.2.15 + cssnano-utils@4.0.1: + resolution: {integrity: sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ==} + 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} @@ -3412,13 +3554,8 @@ packages: peerDependencies: cytoscape: ^3.2.0 - cytoscape-fcose@2.2.0: - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape@3.31.1: - resolution: {integrity: sha512-Hx5Mtb1+hnmAKaZZ/7zL1Y5HTFYOjdDswZy/jD+1WINRU8KVi1B7+vlHdsTwY+VCFucTreoyu1RDzQJ9u0d2Hw==} + cytoscape@3.28.1: + resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==} engines: {node: '>=0.10'} d3-array@2.12.1: @@ -3481,8 +3618,8 @@ packages: resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} engines: {node: '>=12'} - d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + d3-geo@3.1.0: + resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} engines: {node: '>=12'} d3-hierarchy@3.1.2: @@ -3515,8 +3652,8 @@ packages: d3-sankey@0.12.3: resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + d3-scale-chromatic@3.0.0: + resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} engines: {node: '>=12'} d3-scale@4.0.2: @@ -3556,12 +3693,12 @@ packages: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} - d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + d3@7.8.5: + resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} engines: {node: '>=12'} - dagre-d3-es@7.0.11: - resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==} + dagre-d3-es@7.0.10: + resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} @@ -3581,8 +3718,8 @@ packages: supports-color: optional: true - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -3629,8 +3766,8 @@ packages: resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} engines: {node: '>=10'} - delaunator@5.0.1: - resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + delaunator@5.0.0: + resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} @@ -3656,16 +3793,15 @@ packages: 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'} + detect-port@1.5.1: + resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==} hasBin: true devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + diff@5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} dir-glob@3.0.1: @@ -3709,8 +3845,8 @@ packages: domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -3723,10 +3859,6 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -3736,8 +3868,14 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.109: - resolution: {integrity: sha512-AidaH9JETVRr9DIPGfp1kAarm/W6hRJTPuCnkF+2MqhF4KaAgRIcBc8nvjk+YMXZhwfISof/7WG29eS4iGxQLQ==} + electron-to-chromium@1.4.618: + resolution: {integrity: sha512-mTM2HieHLxs1RbD/R/ZoQLMsGI8lWIkP17G7cx32mJRBJt9wlNPkXwE3sYg/OnNb5GBkus98lXatSthoL8Y5Ag==} + + electron-to-chromium@1.5.119: + resolution: {integrity: sha512-Ku4NMzUjz3e3Vweh7PhApPrZSS4fyiCIbcIrG9eKrriYVLmbMepETR/v6SU7xPm98QTqMSYiCwfO89QNjXLkbQ==} + + elkjs@0.9.3: + resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3752,8 +3890,8 @@ packages: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - emoticon@4.1.0: - resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} + emoticon@4.0.1: + resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} @@ -3763,11 +3901,8 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - encoding-sniffer@0.2.0: - resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} - - enhanced-resolve@5.18.1: - resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} entities@2.2.0: @@ -3780,26 +3915,20 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + 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.6.0: - resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - - 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.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} @@ -3854,14 +3983,12 @@ packages: 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.3.2: - resolution: {integrity: sha512-hYH1aSvQI63Cvq3T3loaem6LW4u72F187zW4FHpTrReJSm6W66vYTFNO1vH/chmcOulp1HlAj1pxn8Ag0oXI5Q==} + estree-util-value-to-estree@3.0.1: + resolution: {integrity: sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==} + engines: {node: '>=16.0.0'} estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} @@ -3896,8 +4023,8 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - express@4.21.2: - resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + express@4.21.0: + resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} engines: {node: '>= 0.10.0'} extend-shallow@2.0.1: @@ -3910,18 +4037,15 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + 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.6: - resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} - - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} @@ -3980,8 +4104,8 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -4029,16 +4153,16 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - fs-extra@11.3.0: - resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + 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-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4055,17 +4179,13 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + 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-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -4104,10 +4224,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@15.15.0: - resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} - engines: {node: '>=18'} - globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -4116,9 +4232,8 @@ packages: resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} got@12.6.1: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} @@ -4138,12 +4253,13 @@ packages: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} - hachure-fill@0.5.2: - resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -4151,32 +4267,36 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} 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==} + hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} - hast-util-from-parse5@8.0.3: - resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} 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-raw@9.0.1: + resolution: {integrity: sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==} - hast-util-to-estree@3.1.2: - resolution: {integrity: sha512-94SDoKOfop5gP8RHyw4vV1aj+oChuD42g08BONGAaWFbbO6iaWUqxk7SWfGybgcVzhK16KifZr3zD2dqQgx3jQ==} + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} - hast-util-to-jsx-runtime@2.3.5: - resolution: {integrity: sha512-gHD+HoFxOMmmXLuq9f2dZDMQHVcplCVpMfBNRpJsF03yyLZvJGzsFORe8orVuYDX9k2w0VH0uF8oryFd1whqKQ==} + hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} @@ -4187,13 +4307,16 @@ packages: hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - hastscript@9.0.1: - resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} @@ -4206,8 +4329,8 @@ packages: htm@3.1.1: resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} - html-entities@2.5.2: - resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} + html-entities@2.4.0: + resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -4235,8 +4358,8 @@ packages: html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - html-webpack-plugin@5.6.3: - resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} + html-webpack-plugin@5.6.0: + resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -4253,9 +4376,6 @@ packages: htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - htmlparser2@9.1.0: - resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} - http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -4270,8 +4390,8 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - http-parser-js@0.5.9: - resolution: {integrity: sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==} + 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==} @@ -4308,20 +4428,20 @@ packages: peerDependencies: postcss: ^8.1.0 - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} - image-size@1.2.0: - resolution: {integrity: sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==} + image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} engines: {node: '>=16.x'} hasBin: true immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} import-lazy@4.0.0: @@ -4360,8 +4480,8 @@ packages: inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - inline-style-parser@0.2.4: - resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + inline-style-parser@0.2.2: + resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==} internmap@1.0.1: resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} @@ -4381,8 +4501,8 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - ipaddr.js@2.2.0: - resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + ipaddr.js@2.1.0: + resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} engines: {node: '>= 10'} is-alphabetical@2.0.1: @@ -4406,9 +4526,8 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} @@ -4481,6 +4600,9 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + is-regexp@1.0.0: resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} engines: {node: '>=0.10.0'} @@ -4532,12 +4654,12 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jiti@1.21.7: - resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true - joi@17.13.3: - resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + joi@17.11.0: + resolution: {integrity: sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4554,6 +4676,15 @@ packages: resolution: {integrity: sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==} engines: {node: '>= 10.16.0'} + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -4597,8 +4728,8 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - katex@0.16.21: - resolution: {integrity: sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==} + katex@0.16.11: + resolution: {integrity: sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==} hasBin: true keyv@4.5.4: @@ -4619,26 +4750,16 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - - langium@3.0.0: - resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==} - engines: {node: '>=16.0.0'} - latest-version@7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} - launch-editor@2.10.0: - resolution: {integrity: sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==} + launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} layout-base@1.0.2: resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -4647,6 +4768,10 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} + lilconfig@3.0.0: + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -4662,14 +4787,10 @@ packages: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} - loader-utils@3.3.1: - resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + loader-utils@3.2.1: + resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} engines: {node: '>= 12.13.0'} - local-pkg@1.1.0: - resolution: {integrity: sha512-xbZBuX6gYIWrlLmZG43aAVer4ocntYO09vPy9lxd6Ns8DnR4U7N+IIeDkubinqFOHHzoMlPxTxwo0jhE7oYjAw==} - engines: {node: '>=14'} - locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -4714,6 +4835,10 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + lunr-languages@1.14.0: resolution: {integrity: sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==} @@ -4727,41 +4852,32 @@ packages: 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==} - - marked@13.0.3: - resolution: {integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==} - engines: {node: '>= 18'} - hasBin: true - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} mdast-util-definitions@5.1.2: resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} - mdast-util-directive@3.1.0: - resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} + mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} - mdast-util-find-and-replace@3.0.2: - resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} mdast-util-from-markdown@1.3.1: resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} - mdast-util-from-markdown@2.0.2: - resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} 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-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} - mdast-util-gfm-footnote@2.1.0: - resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + 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==} @@ -4772,14 +4888,14 @@ packages: mdast-util-gfm-task-list-item@2.0.0: resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - mdast-util-gfm@3.1.0: - resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + 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-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} - mdast-util-mdx-jsx@3.2.0: - resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + mdast-util-mdx-jsx@3.0.0: + resolution: {integrity: sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==} mdast-util-mdx@3.0.0: resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} @@ -4787,17 +4903,17 @@ packages: mdast-util-mdxjs-esm@2.0.1: resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} - mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + mdast-util-phrasing@4.0.0: + resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} mdast-util-to-hast@12.3.0: resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} - mdast-util-to-hast@13.2.0: - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdast-util-to-hast@13.0.2: + resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==} - mdast-util-to-markdown@2.1.2: - resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} mdast-util-to-string@3.2.0: resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} @@ -4832,8 +4948,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - mermaid@11.4.1: - resolution: {integrity: sha512-Mb01JT/x6CKDWaxigwfZYuYmDZ6xtrNwNlidKZwkSrDaY9n90tdrJTV5Umk+wP1fZscGptmKFXHsXMDEVZ+Q6A==} + mermaid@10.9.3: + resolution: {integrity: sha512-V80X1isSEvAewIL3xhmz/rVmc27CVljcsbWxkxlWJWY/1kQa4XOABqpDl2qQLGKzpKm6WbTfUEKImBlUfFYArw==} methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} @@ -4842,32 +4958,32 @@ packages: micromark-core-commonmark@1.1.0: resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - micromark-core-commonmark@2.0.3: - resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} - micromark-extension-directive@3.0.2: - resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} + micromark-extension-directive@3.0.0: + resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==} 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-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} - micromark-extension-gfm-footnote@2.1.0: - resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} - micromark-extension-gfm-strikethrough@2.1.0: - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} - micromark-extension-gfm-table@2.1.1: - resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} 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-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} @@ -4875,8 +4991,8 @@ packages: 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-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} micromark-extension-mdx-md@2.0.0: resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} @@ -4890,77 +5006,77 @@ packages: micromark-factory-destination@1.1.0: resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} - micromark-factory-destination@2.0.1: - resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} micromark-factory-label@1.1.0: resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - micromark-factory-label@2.0.1: - resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} - micromark-factory-mdx-expression@2.0.2: - resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==} + micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} 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-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} micromark-factory-title@1.1.0: resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} - micromark-factory-title@2.0.1: - resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} micromark-factory-whitespace@1.1.0: resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} - micromark-factory-whitespace@2.0.1: - resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} 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-character@2.0.1: + resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==} micromark-util-chunked@1.1.0: resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} - micromark-util-chunked@2.0.1: - resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} micromark-util-classify-character@1.1.0: resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} - micromark-util-classify-character@2.0.1: - resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} micromark-util-combine-extensions@1.1.0: resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} - micromark-util-combine-extensions@2.0.1: - resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} micromark-util-decode-numeric-character-reference@1.1.0: resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} - micromark-util-decode-numeric-character-reference@2.0.2: - resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} micromark-util-decode-string@1.1.0: resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} - micromark-util-decode-string@2.0.1: - resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} micromark-util-encode@1.1.0: resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} micromark-util-events-to-acorn@2.0.2: resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} @@ -4968,50 +5084,50 @@ packages: micromark-util-html-tag-name@1.2.0: resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - micromark-util-html-tag-name@2.0.1: - resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} micromark-util-normalize-identifier@1.1.0: resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} - micromark-util-normalize-identifier@2.0.1: - resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} micromark-util-resolve-all@1.1.0: resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} - micromark-util-resolve-all@2.0.1: - resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} micromark-util-sanitize-uri@1.2.0: resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} micromark-util-subtokenize@1.1.0: resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} - micromark-util-subtokenize@2.1.0: - resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} 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-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} micromark-util-types@1.1.0: resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - micromark-util-types@2.0.2: - resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} micromark@3.2.0: resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} - micromark@4.0.2: - resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -5025,10 +5141,6 @@ packages: 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'} @@ -5076,20 +5188,20 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mlly@1.7.4: - resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} - mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - mrmime@2.0.1: - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + 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.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -5097,8 +5209,13 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + nanoid@3.3.10: + resolution: {integrity: sha512-vSJJTG+t/dIKAUhUDw/dLdZ9s//5OxcHqLaDWWrW4Cdq7o6tdLIczUkMXt2MBNmk6sJRZBZRXVixs7URY1CmIg==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -5106,10 +5223,6 @@ packages: 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==} @@ -5120,8 +5233,8 @@ packages: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} - node-emoji@2.2.0: - resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + node-emoji@2.1.3: + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} engines: {node: '>=18'} node-fetch@3.3.2: @@ -5132,9 +5245,15 @@ packages: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + non-layered-tidy-tree-layout@2.0.2: + resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -5147,8 +5266,8 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} - normalize-url@8.0.1: - resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + normalize-url@8.0.0: + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} engines: {node: '>=14.16'} npm-run-path@4.0.1: @@ -5171,16 +5290,15 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} obuf@1.1.2: @@ -5256,9 +5374,6 @@ packages: resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} - package-manager-detector@0.2.10: - resolution: {integrity: sha512-1wlNZK7HW+UE3eGCcMv3hDaYokhspuIeH6enXSnCL1eEZSVDsy/dYwo/4CczhUsrKLA1SSXB+qce8Glw5DEVtw==} - param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} @@ -5266,8 +5381,8 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-entities@4.0.2: - resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + 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==} @@ -5279,14 +5394,11 @@ packages: parse-srcset@1.0.2: resolution: {integrity: sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==} - parse5-htmlparser2-tree-adapter@7.1.0: - resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} - parse5-parser-stream@7.1.2: - resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} - - parse5@7.2.1: - resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} @@ -5295,9 +5407,6 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - path-data-parser@0.1.0: - resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -5324,11 +5433,11 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + 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@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} path-to-regexp@3.3.0: resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} @@ -5337,8 +5446,11 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -5351,19 +5463,10 @@ packages: resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} engines: {node: '>=14.16'} - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} - points-on-curve@0.2.0: - resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - - points-on-path@0.2.1: - resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - postcss-attribute-case-insensitive@7.0.1: resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} engines: {node: '>=18'} @@ -5411,6 +5514,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-colormin@6.0.2: + resolution: {integrity: sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + postcss-colormin@6.1.0: resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} engines: {node: ^14 || ^16 || >=18.0} @@ -5429,6 +5538,12 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-convert-values@6.0.2: + resolution: {integrity: sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw==} + 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} @@ -5483,6 +5598,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-discard-duplicates@6.0.1: + resolution: {integrity: sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg==} + 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} @@ -5495,6 +5616,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-discard-empty@6.0.1: + resolution: {integrity: sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg==} + 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} @@ -5507,12 +5634,24 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-discard-overridden@6.0.1: + resolution: {integrity: sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA==} + 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.2: + resolution: {integrity: sha512-wr3lRPahxARmjow5BWML+9bD9D1u6FpfxlWg4lZqCIwvQLBZQD/S0Rq6A/juQwVFVXvMeRGa9TX1vpXuQ6FhTQ==} + 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} @@ -5573,6 +5712,12 @@ packages: peerDependencies: postcss: ^8.4 + postcss-merge-idents@6.0.1: + resolution: {integrity: sha512-ApqNUkzl3MJP+43DIIvoer98t7tcDVAcnLeAKjuTIM7HkMk8NXB6eqscMIjwQISwoSeE0WrEyIqVy+HoHAVcZw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + postcss-merge-idents@6.0.3: resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} engines: {node: ^14 || ^16 || >=18.0} @@ -5591,6 +5736,12 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-merge-longhand@6.0.2: + resolution: {integrity: sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw==} + 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} @@ -5609,6 +5760,12 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-merge-rules@6.0.3: + resolution: {integrity: sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==} + 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} @@ -5621,6 +5778,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-minify-font-values@6.0.1: + resolution: {integrity: sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w==} + 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} @@ -5633,6 +5796,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-minify-gradients@6.0.1: + resolution: {integrity: sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w==} + 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} @@ -5645,6 +5814,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-minify-params@6.0.2: + resolution: {integrity: sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw==} + 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} @@ -5663,26 +5838,32 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-minify-selectors@6.0.2: + resolution: {integrity: sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg==} + 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==} + postcss-modules-extract-imports@3.0.0: + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 - postcss-modules-local-by-default@4.2.0: - resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + postcss-modules-local-by-default@4.0.3: + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 - postcss-modules-scope@3.2.1: - resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + postcss-modules-scope@3.1.0: + resolution: {integrity: sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 @@ -5705,6 +5886,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-normalize-charset@6.0.1: + resolution: {integrity: sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + postcss-normalize-charset@6.0.2: resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} engines: {node: ^14 || ^16 || >=18.0} @@ -5717,6 +5904,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-normalize-display-values@6.0.1: + resolution: {integrity: sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw==} + 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} @@ -5765,6 +5958,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-normalize-string@6.0.1: + resolution: {integrity: sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg==} + 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} @@ -5777,6 +5976,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-normalize-timing-functions@6.0.1: + resolution: {integrity: sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g==} + 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} @@ -5789,6 +5994,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-normalize-unicode@6.0.2: + resolution: {integrity: sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA==} + 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} @@ -5801,6 +6012,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-normalize-url@6.0.1: + resolution: {integrity: sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ==} + 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} @@ -5813,6 +6030,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-normalize-whitespace@6.0.1: + resolution: {integrity: sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA==} + 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} @@ -5872,6 +6095,12 @@ packages: peerDependencies: postcss: ^8.4 + postcss-reduce-idents@6.0.2: + resolution: {integrity: sha512-GKgyBLS5hMCJC8T36h4IH9u0XhmRHRwLwlxP6xVYbAuxKqn3LezEDDIxnb1/Cu2DXGc20jvWK9VZdCVtYAoTyg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + postcss-reduce-idents@6.0.3: resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} engines: {node: ^14 || ^16 || >=18.0} @@ -5884,6 +6113,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-reduce-initial@6.0.2: + resolution: {integrity: sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw==} + 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} @@ -5896,6 +6131,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-reduce-transforms@6.0.1: + resolution: {integrity: sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ==} + 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} @@ -5913,6 +6154,10 @@ packages: peerDependencies: postcss: ^8.4 + postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + engines: {node: '>=4'} + postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} @@ -5933,6 +6178,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-svgo@6.0.2: + resolution: {integrity: sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + postcss-svgo@6.0.3: resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} engines: {node: ^14 || ^16 || >= 18} @@ -5945,6 +6196,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-unique-selectors@6.0.2: + resolution: {integrity: sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + postcss-unique-selectors@6.0.4: resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} engines: {node: ^14 || ^16 || >=18.0} @@ -5954,18 +6211,28 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss-zindex@6.0.1: + resolution: {integrity: sha512-wQF95TIerYvPlsjwldO7iGP3Z3arhuYRK/gndq4NAdZaEsdUkmQYtRqkrEPMzJOQFBk06wFtzkHZKJoQlqFgXQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + 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.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + engines: {node: ^10 || ^12 || >=14} + postcss@8.5.3: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} - preact@10.26.4: - resolution: {integrity: sha512-KJhO7LBFTjP71d83trW+Ilnjbo+ySsaAgCfXOXUlmGzJ4ygYPWmysm77yg4emwfmoz3b22yvH5IsVFHbhUaH5w==} + preact@10.19.3: + resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} @@ -5993,11 +6260,8 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - property-information@6.5.0: - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - - property-information@7.0.0: - resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==} + property-information@6.4.0: + resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} @@ -6018,9 +6282,6 @@ packages: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} - quansync@0.2.6: - resolution: {integrity: sha512-u3TuxVTuJtkTxKGk5oZ7K2/o+l0/cC6J8SOyaaSnrnroqvcVy7xBxtvBUyd+Xa8cGoCr87XmQj4NR6W+zbqH8w==} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -6065,8 +6326,8 @@ packages: peerDependencies: react: ^18.2.0 - react-error-overlay@6.1.0: - resolution: {integrity: sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==} + 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==} @@ -6074,11 +6335,11 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - react-json-view-lite@1.5.0: - resolution: {integrity: sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==} + react-json-view-lite@1.2.1: + resolution: {integrity: sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ==} engines: {node: '>=14'} peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -6145,22 +6406,14 @@ packages: 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.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + regenerate-unicode-properties@10.2.0: resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} engines: {node: '>=4'} @@ -6174,12 +6427,16 @@ packages: regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + regexpu-core@6.2.0: resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} engines: {node: '>=4'} - registry-auth-token@5.1.0: - resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} + registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} engines: {node: '>=14'} registry-url@6.0.1: @@ -6193,18 +6450,19 @@ packages: resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} hasBin: true + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + 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.1: - resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} + 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==} @@ -6213,11 +6471,11 @@ packages: remark-frontmatter@5.0.0: resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - remark-gfm@4.0.1: - resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} - remark-mdx@3.1.0: - resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} + remark-mdx@3.0.0: + resolution: {integrity: sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==} remark-parse@10.0.2: resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} @@ -6228,8 +6486,8 @@ packages: remark-rehype@10.1.0: resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} - remark-rehype@11.1.1: - resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} + remark-rehype@11.0.0: + resolution: {integrity: sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==} remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} @@ -6261,9 +6519,8 @@ packages: resolve-pathname@3.0.0: resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true responselike@3.0.0: @@ -6274,8 +6531,8 @@ packages: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rimraf@3.0.2: @@ -6286,11 +6543,8 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - roughjs@4.6.6: - resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - - rtlcss@4.3.0: - resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} + rtlcss@4.1.1: + resolution: {integrity: sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==} engines: {node: '>=12.0.0'} hasBin: true @@ -6316,11 +6570,11 @@ packages: sanitize-html@2.12.1: resolution: {integrity: sha512-Plh+JAn0UVDpBRP/xEjsk+xDCoOvMBwQUf/K+/cBAVuTbtX8bj2VB7S1sL1dssVpykqp0/KPSesHrqXtokVBpA==} - sax@1.4.1: - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} schema-utils@2.7.0: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} @@ -6330,12 +6584,12 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} - schema-utils@4.3.0: - resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==} - 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==} + search-insights@2.13.0: + resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} @@ -6356,8 +6610,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true @@ -6365,8 +6619,8 @@ packages: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} serve-handler@6.1.6: resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} @@ -6404,29 +6658,16 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.2: - resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} - engines: {node: '>= 0.4'} + 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-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} signal-exit@3.0.7: @@ -6439,8 +6680,8 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - sitemap@7.1.2: - resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} + sitemap@7.1.1: + resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==} engines: {node: '>=12.0.0', npm: '>=5.6.0'} hasBin: true @@ -6466,6 +6707,10 @@ packages: resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} engines: {node: '>= 6.3.0'} + source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -6510,8 +6755,8 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - std-env@3.8.0: - resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -6527,8 +6772,8 @@ packages: 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-entities@4.0.3: + resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} @@ -6561,8 +6806,8 @@ packages: style-to-object@0.4.4: resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} - style-to-object@1.0.8: - resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} + style-to-object@1.0.5: + resolution: {integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==} stylehacks@5.1.1: resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} @@ -6570,14 +6815,24 @@ packages: peerDependencies: postcss: ^8.2.15 + stylehacks@6.0.2: + resolution: {integrity: sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + stylehacks@6.1.1: resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 - stylis@4.3.6: - resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} + stylis@4.3.1: + resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -6599,8 +6854,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - svgo@3.3.2: - resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + svgo@3.2.0: + resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -6615,8 +6870,8 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - terser-webpack-plugin@5.3.12: - resolution: {integrity: sha512-jDLYqo7oF8tJIttjXO6jBY5Hk8p3A8W4ttih7cCEq64fQFWmgJ4VqAQjKr7WwIDlmXKEc6QeoRb5ecjZ+2afcg==} + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -6631,8 +6886,8 @@ packages: uglify-js: optional: true - terser@5.39.0: - resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==} + terser@5.26.0: + resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==} engines: {node: '>=10'} hasBin: true @@ -6642,14 +6897,15 @@ packages: 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-invariant@1.3.1: + resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} tiny-warning@1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} @@ -6670,15 +6926,15 @@ packages: resolution: {integrity: sha512-h82ywcYhHK7veeelXrCScdH7HkWfbIT1D/CgYO+nmDarz3SGNssVBMws6jU16Ga60AJCRAvPV6w6RLuNerQqjg==} deprecated: Use String.prototype.trim() instead - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + trough@2.1.0: + resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} ts-dedent@2.2.0: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} @@ -6699,23 +6955,16 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript@5.8.2: - resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} + typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true - ufo@1.5.4: - resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - - undici@6.21.1: - resolution: {integrity: sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==} - engines: {node: '>=18.17'} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} unicode-emoji-modifier-base@1.0.0: @@ -6726,8 +6975,8 @@ packages: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} engines: {node: '>=4'} unicode-property-aliases-ecmascript@2.1.0: @@ -6737,8 +6986,8 @@ packages: unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} - unified@11.0.5: - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} unique-string@3.0.0: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} @@ -6765,6 +7014,9 @@ packages: unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + unist-util-select@5.1.0: resolution: {integrity: sha512-4A5mfokSHG/rNQ4g7gSbdEs+H586xyd24sdJqF1IWamqrLHvYb+DH48fzxowyOhOfK7YSqX+XlCojAyuuyyT2A==} @@ -6794,6 +7046,12 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + update-browserslist-db@1.1.3: resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} hasBin: true @@ -6823,8 +7081,8 @@ packages: utila@0.4.0: resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} - utility-types@3.11.0: - resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + utility-types@3.10.0: + resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==} engines: {node: '>= 4'} utils-merge@1.0.1: @@ -6851,8 +7109,8 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vfile-location@5.0.3: - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} @@ -6863,28 +7121,8 @@ packages: vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} - - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - - vscode-languageserver@9.0.1: - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} - hasBin: true - - vscode-uri@3.0.8: - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} watchpack@2.4.2: resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} @@ -6896,10 +7134,13 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + web-streams-polyfill@3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} + web-worker@1.2.0: + resolution: {integrity: sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==} + webpack-bundle-analyzer@4.10.2: resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} engines: {node: '>= 10.13.0'} @@ -6947,8 +7188,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack@5.98.0: - resolution: {integrity: sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==} + webpack@5.95.0: + resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -6971,14 +7212,6 @@ packages: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} - whatwg-encoding@3.1.1: - resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} - engines: {node: '>=18'} - - whatwg-mimetype@4.0.0: - resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} - engines: {node: '>=18'} - which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -7021,8 +7254,8 @@ packages: utf-8-validate: optional: true - ws@8.18.1: - resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} + ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -7044,6 +7277,9 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yaml-loader@0.8.0: resolution: {integrity: sha512-LjeKnTzVBKWiQBeE2L9ssl6WprqaUIxCSNs5tle8PaDydgu3wVFXTbMfsvF2MSErpy9TDVa092n4q6adYwJaWg==} engines: {node: '>= 12.13'} @@ -7052,17 +7288,16 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} + yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} - hasBin: true yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.1.1: - resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} zwitch@2.0.4: @@ -7070,19 +7305,19 @@ packages: snapshots: - '@algolia/autocomplete-core@1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3) + '@algolia/autocomplete-plugin-algolia-insights': 1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-core@1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0)(search-insights@2.13.0)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch @@ -7092,290 +7327,295 @@ snapshots: dependencies: '@algolia/autocomplete-shared': 1.6.3 - '@algolia/autocomplete-js@1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.3)': + '@algolia/autocomplete-js@1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0)': dependencies: - '@algolia/autocomplete-core': 1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) - '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) - '@algolia/client-search': 4.24.0 - algoliasearch: 4.24.0 + '@algolia/autocomplete-core': 1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) + '@algolia/autocomplete-shared': 1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) + '@algolia/client-search': 4.22.0 + algoliasearch: 4.22.0 htm: 3.1.1 - preact: 10.26.4 + preact: 10.19.3 transitivePeerDependencies: - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3) - search-insights: 2.17.3 + '@algolia/autocomplete-shared': 1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) + search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-plugin-algolia-insights@1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0)(search-insights@2.13.0)': dependencies: - '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) - search-insights: 2.17.3 + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0) + search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3)': + '@algolia/autocomplete-preset-algolia@1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3) - '@algolia/client-search': 4.24.0 - algoliasearch: 5.20.3 + '@algolia/autocomplete-shared': 1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) + '@algolia/client-search': 4.22.0 + algoliasearch: 4.22.0 - '@algolia/autocomplete-preset-algolia@1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)': + '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0)': dependencies: - '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) - '@algolia/client-search': 4.24.0 - algoliasearch: 4.24.0 + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0) + '@algolia/client-search': 4.22.0 + algoliasearch: 5.21.0 - '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3)': + '@algolia/autocomplete-shared@1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)': dependencies: - '@algolia/client-search': 4.24.0 - algoliasearch: 5.20.3 + '@algolia/client-search': 4.22.0 + algoliasearch: 4.22.0 - '@algolia/autocomplete-shared@1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)': + '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0)': dependencies: - '@algolia/client-search': 4.24.0 - algoliasearch: 4.24.0 + '@algolia/client-search': 4.22.0 + algoliasearch: 5.21.0 '@algolia/autocomplete-shared@1.6.3': {} - '@algolia/autocomplete-theme-classic@1.18.1': {} + '@algolia/autocomplete-theme-classic@1.13.0': {} - '@algolia/cache-browser-local-storage@4.24.0': + '@algolia/cache-browser-local-storage@4.22.0': dependencies: - '@algolia/cache-common': 4.24.0 + '@algolia/cache-common': 4.22.0 - '@algolia/cache-common@4.24.0': {} + '@algolia/cache-common@4.22.0': {} - '@algolia/cache-in-memory@4.24.0': + '@algolia/cache-in-memory@4.22.0': dependencies: - '@algolia/cache-common': 4.24.0 + '@algolia/cache-common': 4.22.0 - '@algolia/client-abtesting@5.20.3': + '@algolia/client-abtesting@5.21.0': dependencies: - '@algolia/client-common': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/client-common': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 - '@algolia/client-account@4.24.0': + '@algolia/client-account@4.22.0': dependencies: - '@algolia/client-common': 4.24.0 - '@algolia/client-search': 4.24.0 - '@algolia/transporter': 4.24.0 + '@algolia/client-common': 4.22.0 + '@algolia/client-search': 4.22.0 + '@algolia/transporter': 4.22.0 - '@algolia/client-analytics@4.24.0': + '@algolia/client-analytics@4.22.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-common': 4.22.0 + '@algolia/client-search': 4.22.0 + '@algolia/requester-common': 4.22.0 + '@algolia/transporter': 4.22.0 - '@algolia/client-analytics@5.20.3': + '@algolia/client-analytics@5.21.0': dependencies: - '@algolia/client-common': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/client-common': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 - '@algolia/client-common@4.24.0': + '@algolia/client-common@4.22.0': dependencies: - '@algolia/requester-common': 4.24.0 - '@algolia/transporter': 4.24.0 + '@algolia/requester-common': 4.22.0 + '@algolia/transporter': 4.22.0 - '@algolia/client-common@5.20.3': {} + '@algolia/client-common@5.21.0': {} - '@algolia/client-insights@5.20.3': + '@algolia/client-insights@5.21.0': dependencies: - '@algolia/client-common': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/client-common': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 - '@algolia/client-personalization@4.24.0': + '@algolia/client-personalization@4.22.0': dependencies: - '@algolia/client-common': 4.24.0 - '@algolia/requester-common': 4.24.0 - '@algolia/transporter': 4.24.0 + '@algolia/client-common': 4.22.0 + '@algolia/requester-common': 4.22.0 + '@algolia/transporter': 4.22.0 - '@algolia/client-personalization@5.20.3': + '@algolia/client-personalization@5.21.0': dependencies: - '@algolia/client-common': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/client-common': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 - '@algolia/client-query-suggestions@5.20.3': + '@algolia/client-query-suggestions@5.21.0': dependencies: - '@algolia/client-common': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/client-common': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 - '@algolia/client-search@4.24.0': + '@algolia/client-search@4.22.0': dependencies: - '@algolia/client-common': 4.24.0 - '@algolia/requester-common': 4.24.0 - '@algolia/transporter': 4.24.0 + '@algolia/client-common': 4.22.0 + '@algolia/requester-common': 4.22.0 + '@algolia/transporter': 4.22.0 - '@algolia/client-search@5.20.3': + '@algolia/client-search@5.21.0': dependencies: - '@algolia/client-common': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/client-common': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 '@algolia/events@4.0.1': {} - '@algolia/ingestion@1.20.3': + '@algolia/ingestion@1.21.0': dependencies: - '@algolia/client-common': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/client-common': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 - '@algolia/logger-common@4.24.0': {} + '@algolia/logger-common@4.22.0': {} - '@algolia/logger-console@4.24.0': + '@algolia/logger-console@4.22.0': dependencies: - '@algolia/logger-common': 4.24.0 + '@algolia/logger-common': 4.22.0 - '@algolia/monitoring@1.20.3': + '@algolia/monitoring@1.21.0': dependencies: - '@algolia/client-common': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/client-common': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 - '@algolia/recommend@4.24.0': + '@algolia/recommend@5.21.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/client-common': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 - '@algolia/recommend@5.20.3': + '@algolia/requester-browser-xhr@4.22.0': dependencies: - '@algolia/client-common': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/requester-common': 4.22.0 - '@algolia/requester-browser-xhr@4.24.0': + '@algolia/requester-browser-xhr@5.21.0': dependencies: - '@algolia/requester-common': 4.24.0 + '@algolia/client-common': 5.21.0 - '@algolia/requester-browser-xhr@5.20.3': + '@algolia/requester-common@4.22.0': {} + + '@algolia/requester-fetch@5.21.0': dependencies: - '@algolia/client-common': 5.20.3 + '@algolia/client-common': 5.21.0 - '@algolia/requester-common@4.24.0': {} - - '@algolia/requester-fetch@5.20.3': + '@algolia/requester-node-http@4.22.0': dependencies: - '@algolia/client-common': 5.20.3 + '@algolia/requester-common': 4.22.0 - '@algolia/requester-node-http@4.24.0': + '@algolia/requester-node-http@5.21.0': dependencies: - '@algolia/requester-common': 4.24.0 + '@algolia/client-common': 5.21.0 - '@algolia/requester-node-http@5.20.3': + '@algolia/transporter@4.22.0': dependencies: - '@algolia/client-common': 5.20.3 + '@algolia/cache-common': 4.22.0 + '@algolia/logger-common': 4.22.0 + '@algolia/requester-common': 4.22.0 - '@algolia/transporter@4.24.0': + '@ampproject/remapping@2.2.1': dependencies: - '@algolia/cache-common': 4.24.0 - '@algolia/logger-common': 4.24.0 - '@algolia/requester-common': 4.24.0 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 - '@ampproject/remapping@2.3.0': + '@babel/code-frame@7.23.5': dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@antfu/install-pkg@1.0.0': - dependencies: - package-manager-detector: 0.2.10 - tinyexec: 0.3.2 - - '@antfu/utils@8.1.1': {} + '@babel/highlight': 7.23.4 + chalk: 2.4.2 '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 js-tokens: 4.0.0 - picocolors: 1.1.1 + picocolors: 1.0.0 + + '@babel/compat-data@7.23.5': {} '@babel/compat-data@7.26.8': {} '@babel/core@7.23.6': dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.23.6) - '@babel/helpers': 7.26.9 - '@babel/parser': 7.26.9 - '@babel/template': 7.26.9 - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) + '@babel/helpers': 7.23.7 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 convert-source-map: 2.0.0 - debug: 4.4.0 + debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/core@7.26.9': + '@babel/core@7.26.10': dependencies: - '@ampproject/remapping': 2.3.0 + '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.9 + '@babel/generator': 7.26.10 '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) - '@babel/helpers': 7.26.9 - '@babel/parser': 7.26.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helpers': 7.26.10 + '@babel/parser': 7.26.10 '@babel/template': 7.26.9 - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 convert-source-map: 2.0.0 - debug: 4.4.0 + debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.26.9': + '@babel/generator@7.23.6': dependencies: - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.23.6 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + jsesc: 2.5.2 + + '@babel/generator@7.26.10': + dependencies: + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.22.5': + dependencies: + '@babel/types': 7.23.6 + '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.26.10 '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.23.6 + + '@babel/helper-compilation-targets@7.23.6': + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 + lru-cache: 5.1.1 + semver: 6.3.1 '@babel/helper-compilation-targets@7.26.5': dependencies: @@ -7385,42 +7625,49 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.23.6)': + '@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@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.26.5(@babel/core@7.23.6) + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.10) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@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.26.5(@babel/core@7.26.9) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.9 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.23.6)': + '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-annotate-as-pure': 7.25.9 - regexpu-core: 6.2.0 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 semver: 6.3.1 - '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.9)': + '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-annotate-as-pure': 7.25.9 regexpu-core: 6.2.0 semver: 6.3.1 @@ -7428,566 +7675,563 @@ snapshots: '@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - debug: 4.4.0 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.10 + resolve: 1.22.8 transitivePeerDependencies: - supports-color - '@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.6)': + '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.23.6 + '@babel/core': 7.26.10 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - debug: 4.4.0 + debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.10 + resolve: 1.22.8 transitivePeerDependencies: - supports-color - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.23.6)': - dependencies: - '@babel/core': 7.23.6 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.26.9 + '@babel/helper-environment-visitor@7.22.20': {} '@babel/helper-explode-assignable-expression@7.18.6': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.23.6 - '@babel/helper-function-name@7.24.7': + '@babel/helper-function-name@7.23.0': dependencies: - '@babel/template': 7.26.9 - '@babel/types': 7.26.9 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 - '@babel/helper-hoist-variables@7.24.7': + '@babel/helper-hoist-variables@7.22.5': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.23.6 + + '@babel/helper-member-expression-to-functions@7.23.0': + dependencies: + '@babel/types': 7.23.6 '@babel/helper-member-expression-to-functions@7.25.9': dependencies: - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 transitivePeerDependencies: - supports-color + '@babel/helper-module-imports@7.22.15': + dependencies: + '@babel/types': 7.23.6 + '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.23.6)': + '@babel/helper-module-transforms@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9)': + '@babel/helper-optimise-call-expression@7.22.5': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.23.6 '@babel/helper-optimise-call-expression@7.25.9': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.26.10 + + '@babel/helper-plugin-utils@7.22.5': {} '@babel/helper-plugin-utils@7.26.5': {} - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.23.6)': + '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.9)': + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.26.5(@babel/core@7.23.6)': + '@babel/helper-replace-supers@7.22.20(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.9)': + '@babel/helper-simple-access@7.22.5': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.23.6 - '@babel/helper-simple-access@7.25.9': + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': dependencies: - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.23.6 '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 transitivePeerDependencies: - supports-color - '@babel/helper-split-export-declaration@7.24.7': + '@babel/helper-split-export-declaration@7.22.6': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.23.6 + + '@babel/helper-string-parser@7.23.4': {} '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-option@7.23.5': {} + '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-wrap-function@7.22.20': + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + '@babel/helper-wrap-function@7.25.9': dependencies: '@babel/template': 7.26.9 - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 transitivePeerDependencies: - supports-color - '@babel/helpers@7.26.9': + '@babel/helpers@7.23.7': + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.26.10': dependencies: '@babel/template': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.26.10 - '@babel/parser@7.26.9': + '@babel/highlight@7.23.4': dependencies: - '@babel/types': 7.26.9 + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.9)': + '@babel/parser@7.23.6': dependencies: - '@babel/core': 7.26.9 + '@babel/types': 7.23.6 + + '@babel/parser@7.26.10': + dependencies: + '@babel/types': 7.26.10 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.23.6) - transitivePeerDependencies: - - supports-color + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.6) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.10) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 transitivePeerDependencies: - supports-color '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.23.6) + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.6) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.6) - transitivePeerDependencies: - - supports-color '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.6) - transitivePeerDependencies: - - supports-color '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.6) '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.6) '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.6) '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.6) '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6) '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.6) '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.23.6)': dependencies: - '@babel/compat-data': 7.26.8 + '@babel/compat-data': 7.23.5 '@babel/core': 7.23.6 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6) '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.6) '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.9)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.6) - transitivePeerDependencies: - - supports-color '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.9)': + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.9)': + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.23.6)': + '@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.9)': + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.9)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.23.6)': + '@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.23.6) - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.6) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.6) - '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.26.9)': + '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.9) - '@babel/traverse': 7.26.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.10) + '@babel/traverse': 7.26.10 transitivePeerDependencies: - supports-color '@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.23.6) - transitivePeerDependencies: - - supports-color + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.6) - '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.9) + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.10) transitivePeerDependencies: - supports-color '@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.9)': + '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.23.6)': + '@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.6) - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.9)': + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -7995,26 +8239,24 @@ snapshots: '@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.23.6) - '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6) + '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) - '@babel/traverse': 7.26.9 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.10) + '@babel/traverse': 7.26.10 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -8022,95 +8264,95 @@ snapshots: '@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/template': 7.26.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 - '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/template': 7.26.9 '@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.6) - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.9)': + '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.6) - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.26.9)': + '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: @@ -8119,71 +8361,71 @@ snapshots: '@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.6) - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.6) - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -8191,16 +8433,14 @@ snapshots: '@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-simple-access': 7.25.9 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 - '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.9)': + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -8208,35 +8448,31 @@ snapshots: '@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-validator-identifier': 7.25.9 - transitivePeerDependencies: - - supports-color + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 - '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -8244,141 +8480,140 @@ snapshots: '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.23.6)': + '@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6) - '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.9)': + '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.6) + + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.6)': dependencies: + '@babel/compat-data': 7.23.5 '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6) + + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.23.6) - - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.10) '@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6) + + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.23.6) + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.10) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.6) - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6) + + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.23.6) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.6) + + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -8386,124 +8621,120 @@ snapshots: '@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-react-constant-elements@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.23.6) - transitivePeerDependencies: - - supports-color + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.6) - '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.10) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.23.6) - '@babel/types': 7.26.9 - transitivePeerDependencies: - - supports-color + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.6) + '@babel/types': 7.23.6 - '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.9) - '@babel/types': 7.26.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10) + '@babel/types': 7.26.10 transitivePeerDependencies: - supports-color '@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-react-pure-annotations@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-react-pure-annotations@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 regenerator-transform: 0.15.2 - '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-runtime@7.23.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.26.5 - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.23.6) + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.6) babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.6) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.6) + babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.6) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-runtime@7.26.9(@babel/core@7.26.9)': + '@babel/plugin-transform-runtime@7.26.10(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.26.5 - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.9) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.9) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.9) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.10) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.26.10) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.10) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -8511,24 +8742,22 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: @@ -8537,110 +8766,108 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.26.9)': + '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.26.9)': + '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.6) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-typescript@7.26.8(@babel/core@7.26.9)': + '@babel/plugin-transform-typescript@7.26.8(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.10) transitivePeerDependencies: - supports-color '@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.23.6)': + '@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.23.6) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.9)': + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.10) '@babel/helper-plugin-utils': 7.26.5 '@babel/preset-env@7.23.6(@babel/core@7.23.6)': dependencies: - '@babel/compat-data': 7.26.8 + '@babel/compat-data': 7.23.5 '@babel/core': 7.23.6 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-validator-option': 7.25.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.6) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.6) '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.6) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.6) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.6) @@ -8648,7 +8875,7 @@ snapshots: '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.6) '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.6) '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.23.6) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.6) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.6) '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.6) '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.6) @@ -8661,25 +8888,25 @@ snapshots: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.6) '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.6) '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.23.6) + '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.23.6) '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.6) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.23.6) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.23.6) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.6) '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.6) '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.6) '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.6) '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.6) '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.6) '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.6) '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.6) @@ -8687,15 +8914,15 @@ snapshots: '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.6) '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.23.6) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.23.6) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.6) '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.23.6) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.23.6) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.23.6) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.23.6) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.6) '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.6) @@ -8705,89 +8932,89 @@ snapshots: '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.6) '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.6) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.23.6) + babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.6) babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.6) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.6) - core-js-compat: 3.40.0 + babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.6) + core-js-compat: 3.35.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-env@7.26.9(@babel/core@7.26.9)': + '@babel/preset-env@7.26.9(@babel/core@7.26.10)': dependencies: '@babel/compat-data': 7.26.8 - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.9) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.9) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.9) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.9) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.26.9) - '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.9) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.9) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.9) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.26.9) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.9) - '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.9) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.9) - '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-template-literals': 7.26.8(@babel/core@7.26.9) - '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.26.9) - '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.9) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.9) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.9) - babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.26.9) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.9) - core-js-compat: 3.40.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.10) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.10) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.26.10) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.10) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.10) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.26.10) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.10) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.10) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-template-literals': 7.26.8(@babel/core@7.26.10) + '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.10) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.10) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.10) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.26.10) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.10) + core-js-compat: 3.41.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -8795,126 +9022,134 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/types': 7.26.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.23.6 esutils: 2.0.3 - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.9)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/types': 7.26.9 + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.23.6 esutils: 2.0.3 '@babel/preset-react@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-validator-option': 7.25.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.6) - '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.6) '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.6) '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.6) - transitivePeerDependencies: - - supports-color - '@babel/preset-react@7.26.3(@babel/core@7.26.9)': + '@babel/preset-react@7.26.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-react-pure-annotations': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-react-pure-annotations': 7.25.9(@babel/core@7.26.10) transitivePeerDependencies: - supports-color '@babel/preset-typescript@7.23.3(@babel/core@7.23.6)': dependencies: '@babel/core': 7.23.6 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.23.6) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.6) + + '@babel/preset-typescript@7.26.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.10) + '@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.10) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.26.0(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.9) - '@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.9) - transitivePeerDependencies: - - supports-color + '@babel/regjsgen@0.8.0': {} '@babel/runtime-corejs3@7.26.10': dependencies: - core-js-pure: 3.41.0 + core-js-pure: 3.35.0 + regenerator-runtime: 0.14.1 + + '@babel/runtime@7.23.7': + dependencies: regenerator-runtime: 0.14.1 '@babel/runtime@7.26.10': dependencies: regenerator-runtime: 0.14.1 - '@babel/runtime@7.26.9': + '@babel/template@7.22.15': dependencies: - regenerator-runtime: 0.14.1 + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 '@babel/template@7.26.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 - '@babel/traverse@7.26.9': + '@babel/traverse@7.23.7': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.9 - '@babel/parser': 7.26.9 - '@babel/template': 7.26.9 - '@babel/types': 7.26.9 - debug: 4.4.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.26.9': + '@babel/traverse@7.26.10': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.10 + '@babel/parser': 7.26.10 + '@babel/template': 7.26.9 + '@babel/types': 7.26.10 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.23.6': + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + '@babel/types@7.26.10': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@braintree/sanitize-url@7.1.1': {} + '@braintree/sanitize-url@6.0.4': {} - '@chevrotain/cst-dts-gen@11.0.3': + '@cmfcmf/docusaurus-search-local@1.1.0(@docusaurus/core@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(search-insights@2.13.0)': dependencies: - '@chevrotain/gast': 11.0.3 - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - - '@chevrotain/gast@11.0.3': - dependencies: - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - - '@chevrotain/regexp-to-ast@11.0.3': {} - - '@chevrotain/types@11.0.3': {} - - '@chevrotain/utils@11.0.3': {} - - '@cmfcmf/docusaurus-search-local@1.1.0(@docusaurus/core@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-js': 1.18.1(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.3) - '@algolia/autocomplete-theme-classic': 1.18.1 - '@algolia/client-search': 4.24.0 - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - algoliasearch: 4.24.0 - cheerio: 1.0.0 + '@algolia/autocomplete-js': 1.13.0(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0) + '@algolia/autocomplete-theme-classic': 1.13.0 + '@algolia/client-search': 4.22.0 + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + algoliasearch: 4.22.0 + cheerio: 1.0.0-rc.12 clsx: 1.1.1 lunr-languages: 1.14.0 mark.js: 8.11.1 @@ -8954,215 +9189,215 @@ snapshots: '@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.5.3)': + '@csstools/postcss-cascade-layers@5.0.1(postcss@8.4.32)': dependencies: '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - '@csstools/postcss-color-function@4.0.8(postcss@8.5.3)': + '@csstools/postcss-color-function@4.0.8(postcss@8.4.32)': dependencies: '@csstools/css-color-parser': 3.0.8(@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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - '@csstools/postcss-color-mix-function@3.0.8(postcss@8.5.3)': + '@csstools/postcss-color-mix-function@3.0.8(postcss@8.4.32)': dependencies: '@csstools/css-color-parser': 3.0.8(@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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - '@csstools/postcss-content-alt-text@2.0.4(postcss@8.5.3)': + '@csstools/postcss-content-alt-text@2.0.4(postcss@8.4.32)': 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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - '@csstools/postcss-exponential-functions@2.0.7(postcss@8.5.3)': + '@csstools/postcss-exponential-functions@2.0.7(postcss@8.4.32)': dependencies: '@csstools/css-calc': 2.1.2(@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.5.3 + postcss: 8.4.32 - '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.3)': + '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.4.32)': dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 - '@csstools/postcss-gamut-mapping@2.0.8(postcss@8.5.3)': + '@csstools/postcss-gamut-mapping@2.0.8(postcss@8.4.32)': dependencies: '@csstools/css-color-parser': 3.0.8(@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.5.3 + postcss: 8.4.32 - '@csstools/postcss-gradients-interpolation-method@5.0.8(postcss@8.5.3)': + '@csstools/postcss-gradients-interpolation-method@5.0.8(postcss@8.4.32)': dependencies: '@csstools/css-color-parser': 3.0.8(@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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - '@csstools/postcss-hwb-function@4.0.8(postcss@8.5.3)': + '@csstools/postcss-hwb-function@4.0.8(postcss@8.4.32)': dependencies: '@csstools/css-color-parser': 3.0.8(@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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - '@csstools/postcss-ic-unit@4.0.0(postcss@8.5.3)': + '@csstools/postcss-ic-unit@4.0.0(postcss@8.4.32)': dependencies: - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 - '@csstools/postcss-initial@2.0.1(postcss@8.5.3)': + '@csstools/postcss-initial@2.0.1(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - '@csstools/postcss-is-pseudo-class@5.0.1(postcss@8.5.3)': + '@csstools/postcss-is-pseudo-class@5.0.1(postcss@8.4.32)': dependencies: '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - '@csstools/postcss-light-dark-function@2.0.7(postcss@8.5.3)': + '@csstools/postcss-light-dark-function@2.0.7(postcss@8.4.32)': 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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.3)': + '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.3)': + '@csstools/postcss-logical-overflow@2.0.0(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.3)': + '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.3)': + '@csstools/postcss-logical-resize@3.0.0(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - '@csstools/postcss-logical-viewport-units@3.0.3(postcss@8.5.3)': + '@csstools/postcss-logical-viewport-units@3.0.3(postcss@8.4.32)': dependencies: '@csstools/css-tokenizer': 3.0.3 - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - '@csstools/postcss-media-minmax@2.0.7(postcss@8.5.3)': + '@csstools/postcss-media-minmax@2.0.7(postcss@8.4.32)': dependencies: '@csstools/css-calc': 2.1.2(@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.5.3 + postcss: 8.4.32 - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4(postcss@8.5.3)': + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4(postcss@8.4.32)': 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.5.3 + postcss: 8.4.32 - '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.3)': + '@csstools/postcss-nested-calc@4.0.0(postcss@8.4.32)': dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 - '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.5.3)': + '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - '@csstools/postcss-oklab-function@4.0.8(postcss@8.5.3)': + '@csstools/postcss-oklab-function@4.0.8(postcss@8.4.32)': dependencies: '@csstools/css-color-parser': 3.0.8(@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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - '@csstools/postcss-progressive-custom-properties@4.0.0(postcss@8.5.3)': + '@csstools/postcss-progressive-custom-properties@4.0.0(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - '@csstools/postcss-random-function@1.0.3(postcss@8.5.3)': + '@csstools/postcss-random-function@1.0.3(postcss@8.4.32)': dependencies: '@csstools/css-calc': 2.1.2(@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.5.3 + postcss: 8.4.32 - '@csstools/postcss-relative-color-syntax@3.0.8(postcss@8.5.3)': + '@csstools/postcss-relative-color-syntax@3.0.8(postcss@8.4.32)': dependencies: '@csstools/css-color-parser': 3.0.8(@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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.3)': + '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - '@csstools/postcss-sign-functions@1.1.2(postcss@8.5.3)': + '@csstools/postcss-sign-functions@1.1.2(postcss@8.4.32)': dependencies: '@csstools/css-calc': 2.1.2(@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.5.3 + postcss: 8.4.32 - '@csstools/postcss-stepped-value-functions@4.0.7(postcss@8.5.3)': + '@csstools/postcss-stepped-value-functions@4.0.7(postcss@8.4.32)': dependencies: '@csstools/css-calc': 2.1.2(@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.5.3 + postcss: 8.4.32 - '@csstools/postcss-text-decoration-shorthand@4.0.2(postcss@8.5.3)': + '@csstools/postcss-text-decoration-shorthand@4.0.2(postcss@8.4.32)': dependencies: '@csstools/color-helpers': 5.0.2 - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - '@csstools/postcss-trigonometric-functions@4.0.7(postcss@8.5.3)': + '@csstools/postcss-trigonometric-functions@4.0.7(postcss@8.4.32)': dependencies: '@csstools/css-calc': 2.1.2(@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.5.3 + postcss: 8.4.32 - '@csstools/postcss-unset-value@4.0.0(postcss@8.5.3)': + '@csstools/postcss-unset-value@4.0.0(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 '@csstools/selector-resolve-nested@3.0.0(postcss-selector-parser@7.1.0)': dependencies: @@ -9172,9 +9407,9 @@ snapshots: dependencies: postcss-selector-parser: 7.1.0 - '@csstools/utilities@2.0.0(postcss@8.5.3)': + '@csstools/utilities@2.0.0(postcss@8.4.32)': dependencies: - postcss: 8.5.3 + postcss: 8.4.32 '@discoveryjs/json-ext@0.5.7': {} @@ -9182,49 +9417,48 @@ snapshots: '@docsearch/css@3.9.0': {} - '@docsearch/react@3.1.0(@types/react@19.0.10)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docsearch/react@3.1.0(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@algolia/autocomplete-core': 1.6.3 '@docsearch/css': 3.1.0 - '@types/react': 19.0.10 - algoliasearch: 4.24.0 + '@types/react': 18.2.46 + algoliasearch: 4.22.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@docsearch/react@3.9.0(@algolia/client-search@4.24.0)(@types/react@19.0.10)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)': + '@docsearch/react@3.9.0(@algolia/client-search@4.22.0)(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)': dependencies: - '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.20.3) + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@4.22.0)(algoliasearch@5.21.0) '@docsearch/css': 3.9.0 - algoliasearch: 5.20.3 + algoliasearch: 5.21.0 optionalDependencies: - '@types/react': 19.0.10 + '@types/react': 18.2.46 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - search-insights: 2.17.3 + search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/babel@3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/babel@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/core': 7.26.9 - '@babel/generator': 7.26.9 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.9) - '@babel/plugin-transform-runtime': 7.26.9(@babel/core@7.26.9) - '@babel/preset-env': 7.26.9(@babel/core@7.26.9) - '@babel/preset-react': 7.26.3(@babel/core@7.26.9) - '@babel/preset-typescript': 7.26.0(@babel/core@7.26.9) - '@babel/runtime': 7.26.9 + '@babel/core': 7.26.10 + '@babel/generator': 7.26.10 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-transform-runtime': 7.26.10(@babel/core@7.26.10) + '@babel/preset-env': 7.26.9(@babel/core@7.26.10) + '@babel/preset-react': 7.26.3(@babel/core@7.26.10) + '@babel/preset-typescript': 7.26.0(@babel/core@7.26.10) + '@babel/runtime': 7.26.10 '@babel/runtime-corejs3': 7.26.10 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 '@docusaurus/logger': 3.7.0 - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) babel-plugin-dynamic-import-node: 2.3.3 - fs-extra: 11.3.0 - tslib: 2.8.1 + fs-extra: 11.2.0 + tslib: 2.6.2 transitivePeerDependencies: - '@swc/core' - - acorn - esbuild - react - react-dom @@ -9232,39 +9466,37 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/bundler@3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/bundler@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@babel/core': 7.26.9 - '@docusaurus/babel': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@babel/core': 7.26.10 + '@docusaurus/babel': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@docusaurus/cssnano-preset': 3.7.0 '@docusaurus/logger': 3.7.0 - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + babel-loader: 9.2.1(@babel/core@7.26.10)(webpack@5.95.0) clean-css: 5.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.98.0) - css-loader: 6.11.0(webpack@5.98.0) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.98.0) - cssnano: 6.1.2(postcss@8.5.3) - file-loader: 6.2.0(webpack@5.98.0) + copy-webpack-plugin: 11.0.0(webpack@5.95.0) + css-loader: 6.8.1(webpack@5.95.0) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.95.0) + cssnano: 6.1.2(postcss@8.4.32) + file-loader: 6.2.0(webpack@5.95.0) html-minifier-terser: 7.2.0 - mini-css-extract-plugin: 2.9.2(webpack@5.98.0) - null-loader: 4.0.1(webpack@5.98.0) - postcss: 8.5.3 - postcss-loader: 7.3.4(postcss@8.5.3)(typescript@5.8.2)(webpack@5.98.0) - postcss-preset-env: 10.1.5(postcss@8.5.3) - react-dev-utils: 12.0.1(typescript@5.8.2)(webpack@5.98.0) - terser-webpack-plugin: 5.3.12(webpack@5.98.0) - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.98.0))(webpack@5.98.0) - webpack: 5.98.0 - webpackbar: 6.0.1(webpack@5.98.0) + mini-css-extract-plugin: 2.9.2(webpack@5.95.0) + null-loader: 4.0.1(webpack@5.95.0) + postcss: 8.4.32 + postcss-loader: 7.3.4(postcss@8.4.32)(typescript@5.3.3)(webpack@5.95.0) + postcss-preset-env: 10.1.5(postcss@8.4.32) + react-dev-utils: 12.0.1(typescript@5.3.3)(webpack@5.95.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) + tslib: 2.6.2 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + webpack: 5.95.0 + webpackbar: 6.0.1(webpack@5.95.0) transitivePeerDependencies: - '@parcel/css' - - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - csso - esbuild - eslint @@ -9277,52 +9509,52 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/core@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/core@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/babel': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/bundler': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + '@docusaurus/babel': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/bundler': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.7.0 - '@docusaurus/mdx-loader': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@mdx-js/react': 3.0.0(@types/react@19.0.10)(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@mdx-js/react': 3.0.0(@types/react@18.2.46)(react@18.2.0) boxen: 6.2.1 chalk: 4.1.2 - chokidar: 3.6.0 - cli-table3: 0.6.5 + chokidar: 3.5.3 + cli-table3: 0.6.3 combine-promises: 1.2.0 commander: 5.1.0 core-js: 3.35.0 del: 6.1.1 - detect-port: 1.6.1 + detect-port: 1.5.1 escape-html: 1.0.3 eta: 2.2.0 eval: 0.1.8 - fs-extra: 11.3.0 + fs-extra: 11.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.3(webpack@5.98.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) leven: 3.1.0 lodash: 4.17.21 p-map: 4.0.0 prompts: 2.4.2 react: 18.2.0 - react-dev-utils: 12.0.1(typescript@5.8.2)(webpack@5.98.0) + react-dev-utils: 12.0.1(typescript@5.3.3)(webpack@5.95.0) react-dom: 18.2.0(react@18.2.0) react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)' react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.2.0)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.98.0) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.95.0) react-router: 5.3.4(react@18.2.0) react-router-config: 5.1.1(react-router@5.3.4(react@18.2.0))(react@18.2.0) react-router-dom: 5.3.4(react@18.2.0) - semver: 7.7.1 + semver: 7.5.4 serve-handler: 6.1.6 shelljs: 0.8.5 - tslib: 2.8.1 + tslib: 2.6.2 update-notifier: 6.0.2 - webpack: 5.98.0 + webpack: 5.95.0 webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(webpack@5.98.0) + webpack-dev-server: 4.15.2(webpack@5.95.0) webpack-merge: 6.0.1 transitivePeerDependencies: - '@docusaurus/faster' @@ -9330,7 +9562,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9349,54 +9580,53 @@ snapshots: cssnano-preset-advanced: 6.1.2(postcss@8.5.3) postcss: 8.5.3 postcss-sort-media-queries: 5.2.0(postcss@8.5.3) - tslib: 2.8.1 + tslib: 2.6.2 '@docusaurus/logger@3.7.0': dependencies: chalk: 4.1.2 - tslib: 2.8.1 + tslib: 2.6.2 - '@docusaurus/mdx-loader@3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/mdx-loader@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@docusaurus/logger': 3.7.0 - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@mdx-js/mdx': 3.1.0(acorn@8.14.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@mdx-js/mdx': 3.0.0 '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 - estree-util-value-to-estree: 3.3.2 - file-loader: 6.2.0(webpack@5.98.0) - fs-extra: 11.3.0 - image-size: 1.2.0 + estree-util-value-to-estree: 3.0.1 + file-loader: 6.2.0(webpack@5.95.0) + 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.2.0 react-dom: 18.2.0(react@18.2.0) rehype-raw: 7.0.0 - remark-directive: 3.0.1 + remark-directive: 3.0.0 remark-emoji: 4.0.1 remark-frontmatter: 5.0.0 - remark-gfm: 4.0.1 + remark-gfm: 4.0.0 stringify-object: 3.3.0 - tslib: 2.8.1 - unified: 11.0.5 + tslib: 2.6.2 + unified: 11.0.4 unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.98.0))(webpack@5.98.0) - vfile: 6.0.3 - webpack: 5.98.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + vfile: 6.0.1 + webpack: 5.95.0 transitivePeerDependencies: - '@swc/core' - - acorn - esbuild - supports-color - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/module-type-aliases@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/history': 4.7.11 - '@types/react': 19.0.10 + '@types/react': 18.2.46 '@types/react-router-config': 5.0.11 '@types/react-router-dom': 5.3.3 react: 18.2.0 @@ -9405,25 +9635,24 @@ snapshots: react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.2.0)' transitivePeerDependencies: - '@swc/core' - - acorn - esbuild - supports-color - uglify-js - webpack-cli - '@docusaurus/plugin-client-redirects@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-client-redirects@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.7.0 - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) eta: 2.2.0 - fs-extra: 11.3.0 + fs-extra: 11.2.0 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 + tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9431,7 +9660,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9445,29 +9673,29 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-blog@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-content-blog@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.7.0 - '@docusaurus/mdx-loader': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) cheerio: 1.0.0-rc.12 feed: 4.2.2 - fs-extra: 11.3.0 + fs-extra: 11.2.0 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) reading-time: 1.5.0 srcset: 4.0.0 - tslib: 2.8.1 + tslib: 2.6.2 unist-util-visit: 5.0.0 - utility-types: 3.11.0 - webpack: 5.98.0 + utility-types: 3.10.0 + webpack: 5.95.0 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9475,7 +9703,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9489,27 +9716,27 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.7.0 - '@docusaurus/mdx-loader': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/module-type-aliases': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/module-type-aliases': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 - fs-extra: 11.3.0 + fs-extra: 11.2.0 js-yaml: 4.1.0 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 - utility-types: 3.11.0 - webpack: 5.98.0 + tslib: 2.6.2 + utility-types: 3.10.0 + webpack: 5.95.0 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9517,7 +9744,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9531,18 +9757,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-content-pages@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/mdx-loader': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - fs-extra: 11.3.0 + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/mdx-loader': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 - webpack: 5.98.0 + tslib: 2.6.2 + webpack: 5.95.0 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9550,7 +9776,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9564,16 +9789,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-debug@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - fs-extra: 11.3.0 + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-json-view-lite: 1.5.0(react@18.2.0) - tslib: 2.8.1 + react-json-view-lite: 1.2.1(react@18.2.0) + tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9581,7 +9806,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9595,14 +9819,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-google-analytics@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 + tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9610,7 +9834,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9624,15 +9847,15 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-google-gtag@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/gtag.js': 0.0.12 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 + tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9640,7 +9863,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9654,14 +9876,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-google-tag-manager@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 + tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9669,7 +9891,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9683,19 +9904,19 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-sitemap@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.7.0 - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - fs-extra: 11.3.0 + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - sitemap: 7.1.2 - tslib: 2.8.1 + sitemap: 7.1.1 + tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9703,7 +9924,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9717,18 +9937,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-svgr@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/plugin-svgr@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@svgr/core': 8.1.0(typescript@5.8.2) - '@svgr/webpack': 8.1.0(typescript@5.8.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@svgr/core': 8.1.0(typescript@5.3.3) + '@svgr/webpack': 8.1.0(typescript@5.3.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 - webpack: 5.98.0 + tslib: 2.6.2 + webpack: 5.95.0 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9736,7 +9956,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9750,22 +9969,22 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.7.0(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(@types/react@19.0.10)(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)(typescript@5.8.2)': + '@docusaurus/preset-classic@3.7.0(@algolia/client-search@4.22.0)(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-debug': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-google-analytics': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-google-gtag': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-google-tag-manager': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-sitemap': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-svgr': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/theme-classic': 3.7.0(@types/react@19.0.10)(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/theme-search-algolia': 3.7.0(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(@types/react@19.0.10)(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)(typescript@5.8.2) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-debug': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-analytics': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-gtag': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-tag-manager': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-sitemap': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-svgr': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-classic': 3.7.0(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/theme-search-algolia': 3.7.0(@algolia/client-search@4.22.0)(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -9777,7 +9996,6 @@ snapshots: - '@swc/core' - '@swc/css' - '@types/react' - - acorn - bufferutil - csso - debug @@ -9794,39 +10012,39 @@ snapshots: '@docusaurus/react-loadable@6.0.0(react@18.2.0)': dependencies: - '@types/react': 19.0.10 + '@types/react': 18.2.46 react: 18.2.0 - '@docusaurus/theme-classic@3.7.0(@types/react@19.0.10)(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/theme-classic@3.7.0(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.7.0 - '@docusaurus/mdx-loader': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/module-type-aliases': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/module-type-aliases': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@docusaurus/theme-translations': 3.7.0 - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@mdx-js/react': 3.0.0(@types/react@19.0.10)(react@18.2.0) - clsx: 2.1.1 + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@mdx-js/react': 3.0.0(@types/react@18.2.46)(react@18.2.0) + clsx: 2.1.0 copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.45 lodash: 4.17.21 nprogress: 0.2.0 - postcss: 8.5.3 + postcss: 8.4.32 prism-react-renderer: 2.3.1(react@18.2.0) prismjs: 1.29.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-router-dom: 5.3.4(react@18.2.0) - rtlcss: 4.3.0 - tslib: 2.8.1 - utility-types: 3.11.0 + rtlcss: 4.1.1 + tslib: 2.6.2 + utility-types: 3.10.0 transitivePeerDependencies: - '@docusaurus/faster' - '@parcel/css' @@ -9834,7 +10052,6 @@ snapshots: - '@swc/core' - '@swc/css' - '@types/react' - - acorn - bufferutil - csso - debug @@ -9848,42 +10065,41 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/theme-common@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@docusaurus/mdx-loader': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/module-type-aliases': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/module-type-aliases': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/history': 4.7.11 - '@types/react': 19.0.10 + '@types/react': 18.2.46 '@types/react-router-config': 5.0.11 - clsx: 2.1.1 + clsx: 2.1.0 parse-numeric-range: 1.3.0 prism-react-renderer: 2.3.1(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 - utility-types: 3.11.0 + tslib: 2.6.2 + utility-types: 3.10.0 transitivePeerDependencies: - '@swc/core' - - acorn - esbuild - supports-color - uglify-js - webpack-cli - '@docusaurus/theme-mermaid@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2)': + '@docusaurus/theme-mermaid@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/module-type-aliases': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - mermaid: 11.4.1 + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/module-type-aliases': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + mermaid: 10.9.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 + tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' - '@docusaurus/plugin-content-docs' @@ -9892,7 +10108,6 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' - - acorn - bufferutil - csso - debug @@ -9906,26 +10121,26 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@3.7.0(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(@types/react@19.0.10)(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)(typescript@5.8.2)': + '@docusaurus/theme-search-algolia@3.7.0(@algolia/client-search@4.22.0)(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)': dependencies: - '@docsearch/react': 3.9.0(@algolia/client-search@4.24.0)(@types/react@19.0.10)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3) - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) + '@docsearch/react': 3.9.0(@algolia/client-search@4.22.0)(@types/react@18.2.46)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.7.0 - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.2))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@docusaurus/theme-translations': 3.7.0 - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - algoliasearch: 5.20.3 - algoliasearch-helper: 3.24.1(algoliasearch@5.20.3) - clsx: 2.1.1 + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + algoliasearch: 5.21.0 + algoliasearch-helper: 3.24.2(algoliasearch@5.21.0) + clsx: 2.1.0 eta: 2.2.0 - fs-extra: 11.3.0 + fs-extra: 11.2.0 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.8.1 - utility-types: 3.11.0 + tslib: 2.6.2 + utility-types: 3.10.0 transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/faster' @@ -9935,7 +10150,6 @@ snapshots: - '@swc/core' - '@swc/css' - '@types/react' - - acorn - bufferutil - csso - debug @@ -9952,37 +10166,35 @@ snapshots: '@docusaurus/theme-translations@3.7.0': dependencies: - fs-extra: 11.3.0 - tslib: 2.8.1 + fs-extra: 11.2.0 + tslib: 2.6.2 - '@docusaurus/types@3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/types@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@mdx-js/mdx': 3.1.0(acorn@8.14.0) + '@mdx-js/mdx': 3.0.0 '@types/history': 4.7.11 - '@types/react': 19.0.10 + '@types/react': 18.2.46 commander: 5.1.0 - joi: 17.13.3 + joi: 17.11.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)' - utility-types: 3.11.0 - webpack: 5.98.0 + utility-types: 3.10.0 + webpack: 5.95.0 webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' - - acorn - esbuild - supports-color - uglify-js - webpack-cli - '@docusaurus/utils-common@3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/utils-common@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - tslib: 2.8.1 + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tslib: 2.6.2 transitivePeerDependencies: - '@swc/core' - - acorn - esbuild - react - react-dom @@ -9990,19 +10202,18 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils-validation@3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/utils-validation@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@docusaurus/logger': 3.7.0 - '@docusaurus/utils': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - fs-extra: 11.3.0 - joi: 17.13.3 + '@docusaurus/utils': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + fs-extra: 11.2.0 + joi: 17.11.0 js-yaml: 4.1.0 lodash: 4.17.21 - tslib: 2.8.1 + tslib: 2.6.2 transitivePeerDependencies: - '@swc/core' - - acorn - esbuild - react - react-dom @@ -10010,31 +10221,30 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils@3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/utils@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@docusaurus/logger': 3.7.0 - '@docusaurus/types': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.98.0) - fs-extra: 11.3.0 + file-loader: 6.2.0(webpack@5.95.0) + fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 gray-matter: 4.0.3 - jiti: 1.21.7 + jiti: 1.21.0 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.98.0))(webpack@5.98.0) - utility-types: 3.11.0 - webpack: 5.98.0 + tslib: 2.6.2 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + utility-types: 3.10.0 + webpack: 5.95.0 transitivePeerDependencies: - '@swc/core' - - acorn - esbuild - react - react-dom @@ -10042,30 +10252,30 @@ snapshots: - uglify-js - webpack-cli - '@floating-ui/core@1.6.9': + '@floating-ui/core@1.6.8': dependencies: - '@floating-ui/utils': 0.2.9 + '@floating-ui/utils': 0.2.8 - '@floating-ui/dom@1.6.13': + '@floating-ui/dom@1.6.11': dependencies: - '@floating-ui/core': 1.6.9 - '@floating-ui/utils': 0.2.9 + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 '@floating-ui/react-dom@2.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@floating-ui/dom': 1.6.13 + '@floating-ui/dom': 1.6.11 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@floating-ui/react@0.26.28(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@floating-ui/react@0.26.24(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@floating-ui/utils': 0.2.9 + '@floating-ui/utils': 0.2.8 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tabbable: 6.2.0 - '@floating-ui/utils@0.2.9': {} + '@floating-ui/utils@0.2.8': {} '@fortawesome/fontawesome-common-types@6.5.1': {} @@ -10101,28 +10311,13 @@ snapshots: '@headlessui/react@2.1.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@floating-ui/react': 0.26.28(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/focus': 3.19.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/interactions': 3.23.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tanstack/react-virtual': 3.13.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@floating-ui/react': 0.26.24(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/focus': 3.18.3(react@18.2.0) + '@react-aria/interactions': 3.22.3(react@18.2.0) + '@tanstack/react-virtual': 3.10.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@iconify/types@2.0.0': {} - - '@iconify/utils@2.3.0': - dependencies: - '@antfu/install-pkg': 1.0.0 - '@antfu/utils': 8.1.1 - '@iconify/types': 2.0.0 - debug: 4.4.0 - globals: 15.15.0 - kolorist: 1.8.0 - local-pkg: 1.1.0 - mlly: 1.7.4 - transitivePeerDependencies: - - supports-color - '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 @@ -10132,31 +10327,44 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.13.7 - '@types/yargs': 17.0.33 + '@types/node': 20.10.6 + '@types/yargs': 17.0.32 chalk: 4.1.2 + '@jridgewell/gen-mapping@0.3.3': + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/resolve-uri@3.1.1': {} + + '@jridgewell/set-array@1.1.2': {} '@jridgewell/set-array@1.2.1': {} - '@jridgewell/source-map@0.3.6': + '@jridgewell/source-map@0.3.5': dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 - '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.20': + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping@0.3.25': dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 '@jsep-plugin/assignment@1.3.0(jsep@1.4.0)': dependencies: @@ -10166,48 +10374,42 @@ snapshots: dependencies: jsep: 1.4.0 - '@leichtgewicht/ip-codec@2.0.5': {} + '@leichtgewicht/ip-codec@2.0.4': {} - '@mdx-js/mdx@3.1.0(acorn@8.14.0)': + '@mdx-js/mdx@3.0.0': dependencies: - '@types/estree': 1.0.6 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdx': 2.0.13 + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdx': 2.0.10 collapse-white-space: 2.1.0 devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 estree-util-is-identifier-name: 3.0.0 - estree-util-scope: 1.0.0 + estree-util-to-js: 2.0.0 estree-walker: 3.0.3 - hast-util-to-jsx-runtime: 2.3.5 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.3.0 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 + periscopic: 3.1.0 + remark-mdx: 3.0.0 remark-parse: 11.0.0 - remark-rehype: 11.1.1 + remark-rehype: 11.0.0 source-map: 0.7.4 - unified: 11.0.5 + unified: 11.0.4 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 + vfile: 6.0.1 transitivePeerDependencies: - - acorn - supports-color - '@mdx-js/react@3.0.0(@types/react@19.0.10)(react@18.2.0)': + '@mdx-js/react@3.0.0(@types/react@18.2.46)(react@18.2.0)': dependencies: - '@types/mdx': 2.0.13 - '@types/react': 19.0.10 + '@types/mdx': 2.0.10 + '@types/react': 18.2.46 react: 18.2.0 - '@mermaid-js/parser@0.3.0': - dependencies: - langium: 3.0.0 - '@ndhoule/each@2.0.1': dependencies: '@ndhoule/keys': 2.0.0 @@ -10228,7 +10430,7 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 + fastq: 1.16.0 '@pnpm/config.env-replace@1.1.0': {} @@ -10236,54 +10438,51 @@ snapshots: dependencies: graceful-fs: 4.2.10 - '@pnpm/npm-conf@2.3.1': + '@pnpm/npm-conf@2.2.2': 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': {} + '@polka/url@1.0.0-next.24': {} - '@react-aria/focus@3.19.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@react-aria/focus@3.18.3(react@18.2.0)': dependencies: - '@react-aria/interactions': 3.23.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/utils': 3.27.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-types/shared': 3.27.0(react@18.2.0) - '@swc/helpers': 0.5.15 - clsx: 2.1.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/interactions@3.23.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@react-aria/ssr': 3.9.7(react@18.2.0) - '@react-aria/utils': 3.27.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-types/shared': 3.27.0(react@18.2.0) - '@swc/helpers': 0.5.15 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/ssr@3.9.7(react@18.2.0)': - dependencies: - '@swc/helpers': 0.5.15 + '@react-aria/interactions': 3.22.3(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + clsx: 2.1.0 react: 18.2.0 - '@react-aria/utils@3.27.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@react-aria/interactions@3.22.3(react@18.2.0)': dependencies: - '@react-aria/ssr': 3.9.7(react@18.2.0) - '@react-stately/utils': 3.10.5(react@18.2.0) - '@react-types/shared': 3.27.0(react@18.2.0) - '@swc/helpers': 0.5.15 - clsx: 2.1.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-stately/utils@3.10.5(react@18.2.0)': - dependencies: - '@swc/helpers': 0.5.15 + '@react-aria/ssr': 3.9.6(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 react: 18.2.0 - '@react-types/shared@3.27.0(react@18.2.0)': + '@react-aria/ssr@3.9.6(react@18.2.0)': + dependencies: + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-aria/utils@3.25.3(react@18.2.0)': + dependencies: + '@react-aria/ssr': 3.9.6(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + clsx: 2.1.0 + react: 18.2.0 + + '@react-stately/utils@3.10.4(react@18.2.0)': + dependencies: + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-types/shared@3.25.0(react@18.2.0)': dependencies: react: 18.2.0 @@ -10291,7 +10490,7 @@ snapshots: dependencies: '@ndhoule/map': 2.0.1 - '@sideway/address@4.1.5': + '@sideway/address@4.1.4': dependencies: '@hapi/hoek': 9.3.0 @@ -10365,12 +10564,12 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.23.6) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.23.6) - '@svgr/core@8.1.0(typescript@5.8.2)': + '@svgr/core@8.1.0(typescript@5.3.3)': dependencies: '@babel/core': 7.23.6 '@svgr/babel-preset': 8.1.0(@babel/core@7.23.6) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.8.2) + cosmiconfig: 8.3.6(typescript@5.3.3) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -10378,251 +10577,123 @@ snapshots: '@svgr/hast-util-to-babel-ast@8.0.0': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.23.6 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.8.2))': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.3.3))': dependencies: '@babel/core': 7.23.6 '@svgr/babel-preset': 8.1.0(@babel/core@7.23.6) - '@svgr/core': 8.1.0(typescript@5.8.2) + '@svgr/core': 8.1.0(typescript@5.3.3) '@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.8.2))(typescript@5.8.2)': + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.3.3))(typescript@5.3.3)': dependencies: - '@svgr/core': 8.1.0(typescript@5.8.2) - cosmiconfig: 8.3.6(typescript@5.8.2) + '@svgr/core': 8.1.0(typescript@5.3.3) + cosmiconfig: 8.3.6(typescript@5.3.3) deepmerge: 4.3.1 - svgo: 3.3.2 + svgo: 3.2.0 transitivePeerDependencies: - typescript - '@svgr/webpack@8.1.0(typescript@5.8.2)': + '@svgr/webpack@8.1.0(typescript@5.3.3)': dependencies: '@babel/core': 7.23.6 - '@babel/plugin-transform-react-constant-elements': 7.25.9(@babel/core@7.23.6) + '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.6) '@babel/preset-env': 7.23.6(@babel/core@7.23.6) '@babel/preset-react': 7.23.3(@babel/core@7.23.6) '@babel/preset-typescript': 7.23.3(@babel/core@7.23.6) - '@svgr/core': 8.1.0(typescript@5.8.2) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.2)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.8.2))(typescript@5.8.2) + '@svgr/core': 8.1.0(typescript@5.3.3) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.3.3)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.3.3))(typescript@5.3.3) transitivePeerDependencies: - supports-color - typescript - '@swc/helpers@0.5.15': + '@swc/helpers@0.5.13': dependencies: - tslib: 2.8.1 + tslib: 2.6.2 '@szmarczak/http-timer@5.0.1': dependencies: defer-to-connect: 2.0.1 - '@tanstack/react-virtual@3.13.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tanstack/react-virtual@3.10.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tanstack/virtual-core': 3.13.2 + '@tanstack/virtual-core': 3.10.8 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@tanstack/virtual-core@3.13.2': {} + '@tanstack/virtual-core@3.10.8': {} '@trysound/sax@0.2.0': {} '@types/acorn@4.0.6': dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.13.7 + '@types/node': 20.10.6 '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.13.7 + '@types/node': 20.10.6 '@types/connect-history-api-fallback@1.5.4': dependencies: - '@types/express-serve-static-core': 5.0.6 - '@types/node': 22.13.7 + '@types/express-serve-static-core': 4.17.41 + '@types/node': 20.10.6 '@types/connect@3.4.38': dependencies: - '@types/node': 22.13.7 + '@types/node': 20.10.6 - '@types/d3-array@3.2.1': {} + '@types/d3-scale-chromatic@3.0.3': {} - '@types/d3-axis@3.0.6': + '@types/d3-scale@4.0.8': dependencies: - '@types/d3-selection': 3.0.11 + '@types/d3-time': 3.0.3 - '@types/d3-brush@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-chord@3.0.6': {} - - '@types/d3-color@3.1.3': {} - - '@types/d3-contour@3.0.6': - dependencies: - '@types/d3-array': 3.2.1 - '@types/geojson': 7946.0.16 - - '@types/d3-delaunay@6.0.4': {} - - '@types/d3-dispatch@3.0.6': {} - - '@types/d3-drag@3.0.7': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-dsv@3.0.7': {} - - '@types/d3-ease@3.0.2': {} - - '@types/d3-fetch@3.0.7': - dependencies: - '@types/d3-dsv': 3.0.7 - - '@types/d3-force@3.0.10': {} - - '@types/d3-format@3.0.4': {} - - '@types/d3-geo@3.1.0': - dependencies: - '@types/geojson': 7946.0.16 - - '@types/d3-hierarchy@3.1.7': {} - - '@types/d3-interpolate@3.0.4': - dependencies: - '@types/d3-color': 3.1.3 - - '@types/d3-path@3.1.1': {} - - '@types/d3-polygon@3.0.2': {} - - '@types/d3-quadtree@3.0.6': {} - - '@types/d3-random@3.0.3': {} - - '@types/d3-scale-chromatic@3.1.0': {} - - '@types/d3-scale@4.0.9': - dependencies: - '@types/d3-time': 3.0.4 - - '@types/d3-selection@3.0.11': {} - - '@types/d3-shape@3.1.7': - dependencies: - '@types/d3-path': 3.1.1 - - '@types/d3-time-format@4.0.3': {} - - '@types/d3-time@3.0.4': {} - - '@types/d3-timer@3.0.2': {} - - '@types/d3-transition@3.0.9': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-zoom@3.0.8': - dependencies: - '@types/d3-interpolate': 3.0.4 - '@types/d3-selection': 3.0.11 - - '@types/d3@7.4.3': - dependencies: - '@types/d3-array': 3.2.1 - '@types/d3-axis': 3.0.6 - '@types/d3-brush': 3.0.6 - '@types/d3-chord': 3.0.6 - '@types/d3-color': 3.1.3 - '@types/d3-contour': 3.0.6 - '@types/d3-delaunay': 6.0.4 - '@types/d3-dispatch': 3.0.6 - '@types/d3-drag': 3.0.7 - '@types/d3-dsv': 3.0.7 - '@types/d3-ease': 3.0.2 - '@types/d3-fetch': 3.0.7 - '@types/d3-force': 3.0.10 - '@types/d3-format': 3.0.4 - '@types/d3-geo': 3.1.0 - '@types/d3-hierarchy': 3.1.7 - '@types/d3-interpolate': 3.0.4 - '@types/d3-path': 3.1.1 - '@types/d3-polygon': 3.0.2 - '@types/d3-quadtree': 3.0.6 - '@types/d3-random': 3.0.3 - '@types/d3-scale': 4.0.9 - '@types/d3-scale-chromatic': 3.1.0 - '@types/d3-selection': 3.0.11 - '@types/d3-shape': 3.1.7 - '@types/d3-time': 3.0.4 - '@types/d3-time-format': 4.0.3 - '@types/d3-timer': 3.0.2 - '@types/d3-transition': 3.0.9 - '@types/d3-zoom': 3.0.8 + '@types/d3-time@3.0.3': {} '@types/debug@4.1.12': dependencies: - '@types/ms': 2.1.0 + '@types/ms': 0.7.34 - '@types/eslint-scope@3.7.7': + '@types/estree-jsx@1.0.3': dependencies: - '@types/eslint': 9.6.1 - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 - '@types/eslint@9.6.1': + '@types/estree@1.0.5': {} + + '@types/express-serve-static-core@4.17.41': 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.13.7 - '@types/qs': 6.9.18 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 - - '@types/express-serve-static-core@5.0.6': - dependencies: - '@types/node': 22.13.7 - '@types/qs': 6.9.18 + '@types/node': 20.10.6 + '@types/qs': 6.9.11 '@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.18 - '@types/serve-static': 1.15.7 - - '@types/geojson@7946.0.16': {} + '@types/express-serve-static-core': 4.17.41 + '@types/qs': 6.9.11 + '@types/serve-static': 1.15.5 '@types/gtag.js@0.0.12': {} - '@types/hast@2.3.10': + '@types/hast@2.3.9': dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 - '@types/hast@3.0.4': + '@types/hast@3.0.3': dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 '@types/history@4.7.11': {} @@ -10632,9 +10703,9 @@ snapshots: '@types/http-errors@2.0.4': {} - '@types/http-proxy@1.17.16': + '@types/http-proxy@1.17.14': dependencies: - '@types/node': 22.13.7 + '@types/node': 20.10.6 '@types/istanbul-lib-coverage@2.0.6': {} @@ -10650,177 +10721,183 @@ snapshots: '@types/mdast@3.0.15': dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 - '@types/mdast@4.0.4': + '@types/mdast@4.0.3': dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 - '@types/mdx@2.0.13': {} + '@types/mdx@2.0.10': {} '@types/mime@1.3.5': {} - '@types/ms@2.1.0': {} + '@types/mime@3.0.4': {} + + '@types/ms@0.7.34': {} '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.13.7 + '@types/node': 20.10.6 '@types/node@17.0.45': {} - '@types/node@22.13.7': + '@types/node@20.10.6': dependencies: - undici-types: 6.20.0 + undici-types: 5.26.5 '@types/parse-json@4.0.2': {} - '@types/prismjs@1.26.5': {} + '@types/prismjs@1.26.3': {} - '@types/prop-types@15.7.14': {} + '@types/prop-types@15.7.11': {} - '@types/qs@6.9.18': {} + '@types/qs@6.9.11': {} '@types/range-parser@1.2.7': {} '@types/react-router-config@5.0.11': dependencies: '@types/history': 4.7.11 - '@types/react': 19.0.10 + '@types/react': 18.2.46 '@types/react-router': 5.1.20 '@types/react-router-dom@5.3.3': dependencies: '@types/history': 4.7.11 - '@types/react': 19.0.10 + '@types/react': 18.2.46 '@types/react-router': 5.1.20 '@types/react-router@5.1.20': dependencies: '@types/history': 4.7.11 - '@types/react': 19.0.10 + '@types/react': 18.2.46 - '@types/react@19.0.10': + '@types/react@18.2.46': dependencies: + '@types/prop-types': 15.7.11 + '@types/scheduler': 0.16.8 csstype: 3.1.3 '@types/retry@0.12.0': {} '@types/sax@1.2.7': dependencies: - '@types/node': 17.0.45 + '@types/node': 20.10.6 + + '@types/scheduler@0.16.8': {} '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.13.7 + '@types/node': 20.10.6 '@types/serve-index@1.9.4': dependencies: '@types/express': 4.17.21 - '@types/serve-static@1.15.7': + '@types/serve-static@1.15.5': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.13.7 - '@types/send': 0.17.4 + '@types/mime': 3.0.4 + '@types/node': 20.10.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.13.7 + '@types/node': 20.10.6 '@types/trusted-types@2.0.7': optional: true - '@types/unist@2.0.11': {} + '@types/unist@2.0.10': {} - '@types/unist@3.0.3': {} + '@types/unist@3.0.2': {} - '@types/ws@8.5.14': + '@types/ws@8.5.10': dependencies: - '@types/node': 22.13.7 + '@types/node': 20.10.6 '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.33': + '@types/yargs@17.0.32': dependencies: '@types/yargs-parser': 21.0.3 - '@ungap/structured-clone@1.3.0': {} + '@ungap/structured-clone@1.2.0': {} - '@webassemblyjs/ast@1.14.1': + '@webassemblyjs/ast@1.12.1': dependencies: - '@webassemblyjs/helper-numbers': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} - '@webassemblyjs/helper-api-error@1.13.2': {} + '@webassemblyjs/helper-api-error@1.11.6': {} - '@webassemblyjs/helper-buffer@1.14.1': {} + '@webassemblyjs/helper-buffer@1.12.1': {} - '@webassemblyjs/helper-numbers@1.13.2': + '@webassemblyjs/helper-numbers@1.11.6': dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.13.2 - '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} - '@webassemblyjs/helper-wasm-section@1.14.1': + '@webassemblyjs/helper-wasm-section@1.12.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/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/ieee754@1.13.2': + '@webassemblyjs/ieee754@1.11.6': dependencies: '@xtuc/ieee754': 1.2.0 - '@webassemblyjs/leb128@1.13.2': + '@webassemblyjs/leb128@1.11.6': dependencies: '@xtuc/long': 4.2.2 - '@webassemblyjs/utf8@1.13.2': {} + '@webassemblyjs/utf8@1.11.6': {} - '@webassemblyjs/wasm-edit@1.14.1': + '@webassemblyjs/wasm-edit@1.12.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/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 - '@webassemblyjs/wasm-gen@1.14.1': + '@webassemblyjs/wasm-gen@1.12.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/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 - '@webassemblyjs/wasm-opt@1.14.1': + '@webassemblyjs/wasm-opt@1.12.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/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wasm-parser@1.14.1': + '@webassemblyjs/wasm-parser@1.12.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/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 - '@webassemblyjs/wast-printer@1.14.1': + '@webassemblyjs/wast-printer@1.12.1': dependencies: - '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 '@xtuc/ieee754@1.2.0': {} @@ -10832,15 +10909,17 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.14.0): + acorn-import-attributes@1.9.5(acorn@8.11.3): dependencies: - acorn: 8.14.0 + acorn: 8.11.3 - acorn-walk@8.3.4: + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: - acorn: 8.14.0 + acorn: 8.11.3 - acorn@8.14.0: {} + acorn-walk@8.3.1: {} + + acorn@8.11.3: {} address@1.2.2: {} @@ -10849,17 +10928,17 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@2.1.1(ajv@8.12.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.12.0 ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 - ajv-keywords@5.1.0(ajv@8.17.1): + ajv-keywords@5.1.0(ajv@8.12.0): dependencies: - ajv: 8.17.1 + ajv: 8.12.0 fast-deep-equal: 3.1.3 ajv@6.12.6: @@ -10869,51 +10948,50 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.17.1: + ajv@8.12.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.6 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + uri-js: 4.4.1 - algoliasearch-helper@3.24.1(algoliasearch@5.20.3): + algoliasearch-helper@3.24.2(algoliasearch@5.21.0): dependencies: '@algolia/events': 4.0.1 - algoliasearch: 5.20.3 + algoliasearch: 5.21.0 - algoliasearch@4.24.0: + algoliasearch@4.22.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 + '@algolia/cache-browser-local-storage': 4.22.0 + '@algolia/cache-common': 4.22.0 + '@algolia/cache-in-memory': 4.22.0 + '@algolia/client-account': 4.22.0 + '@algolia/client-analytics': 4.22.0 + '@algolia/client-common': 4.22.0 + '@algolia/client-personalization': 4.22.0 + '@algolia/client-search': 4.22.0 + '@algolia/logger-common': 4.22.0 + '@algolia/logger-console': 4.22.0 + '@algolia/requester-browser-xhr': 4.22.0 + '@algolia/requester-common': 4.22.0 + '@algolia/requester-node-http': 4.22.0 + '@algolia/transporter': 4.22.0 - algoliasearch@5.20.3: + algoliasearch@5.21.0: dependencies: - '@algolia/client-abtesting': 5.20.3 - '@algolia/client-analytics': 5.20.3 - '@algolia/client-common': 5.20.3 - '@algolia/client-insights': 5.20.3 - '@algolia/client-personalization': 5.20.3 - '@algolia/client-query-suggestions': 5.20.3 - '@algolia/client-search': 5.20.3 - '@algolia/ingestion': 1.20.3 - '@algolia/monitoring': 1.20.3 - '@algolia/recommend': 5.20.3 - '@algolia/requester-browser-xhr': 5.20.3 - '@algolia/requester-fetch': 5.20.3 - '@algolia/requester-node-http': 5.20.3 + '@algolia/client-abtesting': 5.21.0 + '@algolia/client-analytics': 5.21.0 + '@algolia/client-common': 5.21.0 + '@algolia/client-insights': 5.21.0 + '@algolia/client-personalization': 5.21.0 + '@algolia/client-query-suggestions': 5.21.0 + '@algolia/client-search': 5.21.0 + '@algolia/ingestion': 1.21.0 + '@algolia/monitoring': 1.21.0 + '@algolia/recommend': 5.21.0 + '@algolia/requester-browser-xhr': 5.21.0 + '@algolia/requester-fetch': 5.21.0 + '@algolia/requester-node-http': 5.21.0 ansi-align@3.0.1: dependencies: @@ -10927,7 +11005,11 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 ansi-styles@4.3.0: dependencies: @@ -10952,7 +11034,7 @@ snapshots: array-union@2.1.0: {} - astring@1.9.0: {} + astring@1.8.6: {} async@2.6.4: dependencies: @@ -10960,68 +11042,70 @@ snapshots: at-least-node@1.0.0: {} - autoprefixer@10.4.16(postcss@8.5.3): + autoprefixer@10.4.16(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + caniuse-lite: 1.0.30001572 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + autoprefixer@10.4.21(postcss@8.4.32): dependencies: browserslist: 4.24.4 - caniuse-lite: 1.0.30001701 + caniuse-lite: 1.0.30001705 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + autoprefixer@10.4.21(postcss@8.5.3): + dependencies: + browserslist: 4.24.4 + caniuse-lite: 1.0.30001705 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 postcss: 8.5.3 postcss-value-parser: 4.2.0 - autoprefixer@10.4.20(postcss@8.5.3): + babel-loader@9.2.1(@babel/core@7.26.10)(webpack@5.95.0): dependencies: - browserslist: 4.24.4 - caniuse-lite: 1.0.30001701 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.3 - postcss-value-parser: 4.2.0 - - babel-loader@9.2.1(@babel/core@7.26.9)(webpack@5.98.0): - dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 find-cache-dir: 4.0.0 - schema-utils: 4.3.0 - webpack: 5.98.0 + schema-utils: 4.2.0 + webpack: 5.95.0 babel-plugin-dynamic-import-node@2.3.3: dependencies: - object.assign: 4.1.7 + object.assign: 4.1.5 - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.23.6): + babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.10): dependencies: '@babel/compat-data': 7.26.8 + '@babel/core': 7.26.10 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.10) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.6): + dependencies: + '@babel/compat-data': 7.23.5 '@babel/core': 7.23.6 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.23.6) + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.6) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.9): + babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.26.10): dependencies: - '@babel/compat-data': 7.26.8 - '@babel/core': 7.26.9 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.9): - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) - core-js-compat: 3.40.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.26.9): - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) - core-js-compat: 3.40.0 + '@babel/core': 7.26.10 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.10) + core-js-compat: 3.41.0 transitivePeerDependencies: - supports-color @@ -11029,21 +11113,21 @@ snapshots: dependencies: '@babel/core': 7.23.6 '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.6) - core-js-compat: 3.40.0 + core-js-compat: 3.35.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.6): + babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.6): dependencies: '@babel/core': 7.23.6 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.6) + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.6) transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.9): + babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.10): dependencies: - '@babel/core': 7.26.9 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) + '@babel/core': 7.26.10 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.10) transitivePeerDependencies: - supports-color @@ -11055,7 +11139,7 @@ snapshots: big.js@5.2.2: {} - binary-extensions@2.3.0: {} + binary-extensions@2.2.0: {} body-parser@1.20.3: dependencies: @@ -11074,7 +11158,7 @@ snapshots: transitivePeerDependencies: - supports-color - bonjour-service@1.3.0: + bonjour-service@1.2.0: dependencies: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 @@ -11096,7 +11180,7 @@ snapshots: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.4.1 + chalk: 5.3.0 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -11112,10 +11196,17 @@ snapshots: dependencies: fill-range: 7.1.1 + browserslist@4.22.2: + dependencies: + caniuse-lite: 1.0.30001572 + electron-to-chromium: 1.4.618 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) + browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001701 - electron-to-chromium: 1.5.109 + caniuse-lite: 1.0.30001705 + electron-to-chromium: 1.5.119 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.24.4) @@ -11134,26 +11225,17 @@ snapshots: http-cache-semantics: 4.1.1 keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.1 + normalize-url: 8.0.0 responselike: 3.0.0 - call-bind-apply-helpers@1.0.2: + call-bind@1.0.7: dependencies: + es-define-property: 1.0.0 es-errors: 1.3.0 function-bind: 1.1.2 - - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 + get-intrinsic: 1.2.4 set-function-length: 1.2.2 - call-bound@1.0.3: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - call-me-maybe@1.0.2: {} callsites@3.1.0: {} @@ -11161,7 +11243,7 @@ snapshots: camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.8.1 + tslib: 2.6.2 camelcase@6.3.0: {} @@ -11169,21 +11251,29 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.24.4 - caniuse-lite: 1.0.30001701 + browserslist: 4.22.2 + caniuse-lite: 1.0.30001572 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001701: {} + caniuse-lite@1.0.30001572: {} + + caniuse-lite@1.0.30001705: {} ccount@2.0.1: {} + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.4.1: {} + chalk@5.3.0: {} char-regex@1.0.2: {} @@ -11202,47 +11292,19 @@ snapshots: css-what: 6.1.0 domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.2.2 - - cheerio@1.0.0: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - encoding-sniffer: 0.2.0 - htmlparser2: 9.1.0 - parse5: 7.2.1 - parse5-htmlparser2-tree-adapter: 7.1.0 - parse5-parser-stream: 7.1.2 - undici: 6.21.1 - whatwg-mimetype: 4.0.0 + 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.2.2 + domutils: 3.1.0 htmlparser2: 8.0.2 - parse5: 7.2.1 - parse5-htmlparser2-tree-adapter: 7.1.0 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 - chevrotain-allstar@0.3.1(chevrotain@11.0.3): - dependencies: - chevrotain: 11.0.3 - lodash-es: 4.17.21 - - chevrotain@11.0.3: - dependencies: - '@chevrotain/cst-dts-gen': 11.0.3 - '@chevrotain/gast': 11.0.3 - '@chevrotain/regexp-to-ast': 11.0.3 - '@chevrotain/types': 11.0.3 - '@chevrotain/utils': 11.0.3 - lodash-es: 4.17.21 - - chokidar@3.6.0: + chokidar@3.5.3: dependencies: anymatch: 3.1.3 braces: 3.0.3 @@ -11254,7 +11316,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chrome-trace-event@1.0.4: {} + chrome-trace-event@1.0.3: {} ci-info@3.9.0: {} @@ -11268,7 +11330,7 @@ snapshots: cli-boxes@3.0.0: {} - cli-table3@0.6.5: + cli-table3@0.6.3: dependencies: string-width: 4.2.3 optionalDependencies: @@ -11282,14 +11344,20 @@ snapshots: clsx@1.1.1: {} - clsx@2.1.1: {} + clsx@2.1.0: {} collapse-white-space@2.1.0: {} + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + color-convert@2.0.1: dependencies: color-name: 1.1.4 + color-name@1.1.3: {} + color-name@1.1.4: {} colord@2.9.3: {} @@ -11314,24 +11382,22 @@ snapshots: compressible@2.0.18: dependencies: - mime-db: 1.53.0 + mime-db: 1.52.0 - compression@1.8.0: + compression@1.7.4: dependencies: - bytes: 3.1.2 + accepts: 1.3.8 + bytes: 3.0.0 compressible: 2.0.18 debug: 2.6.9 - negotiator: 0.6.4 on-headers: 1.0.2 - safe-buffer: 5.2.1 + safe-buffer: 5.1.2 vary: 1.1.2 transitivePeerDependencies: - supports-color concat-map@0.0.1: {} - confbox@0.1.8: {} - config-chain@1.1.13: dependencies: ini: 1.3.8 @@ -11363,25 +11429,29 @@ snapshots: cookie-signature@1.0.6: {} - cookie@0.7.1: {} + cookie@0.6.0: {} copy-text-to-clipboard@3.2.0: {} - copy-webpack-plugin@11.0.0(webpack@5.98.0): + copy-webpack-plugin@11.0.0(webpack@5.95.0): dependencies: - fast-glob: 3.3.3 + fast-glob: 3.3.2 glob-parent: 6.0.2 globby: 13.2.2 normalize-path: 3.0.0 - schema-utils: 4.3.0 - serialize-javascript: 6.0.2 - webpack: 5.98.0 + schema-utils: 4.2.0 + serialize-javascript: 6.0.1 + webpack: 5.95.0 - core-js-compat@3.40.0: + core-js-compat@3.35.0: + dependencies: + browserslist: 4.22.2 + + core-js-compat@3.41.0: dependencies: browserslist: 4.24.4 - core-js-pure@3.41.0: {} + core-js-pure@3.35.0: {} core-js@3.35.0: {} @@ -11391,28 +11461,24 @@ snapshots: dependencies: layout-base: 1.0.2 - cose-base@2.2.0: - dependencies: - layout-base: 2.0.1 - cosmiconfig@6.0.0: dependencies: '@types/parse-json': 4.0.2 - import-fresh: 3.3.1 + 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.8.2): + cosmiconfig@8.3.6(typescript@5.3.3): dependencies: - import-fresh: 3.3.1 + import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.8.2 + typescript: 5.3.3 - cross-spawn@7.0.6: + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -11422,68 +11488,75 @@ snapshots: dependencies: type-fest: 1.4.0 - css-blank-pseudo@7.0.1(postcss@8.5.3): + css-blank-pseudo@7.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - css-declaration-sorter@6.3.0(postcss@8.5.3): + css-declaration-sorter@6.3.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - css-declaration-sorter@6.4.1(postcss@8.5.3): + css-declaration-sorter@6.4.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + + css-declaration-sorter@7.1.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + + css-declaration-sorter@7.2.0(postcss@8.4.32): + dependencies: + postcss: 8.4.32 css-declaration-sorter@7.2.0(postcss@8.5.3): dependencies: postcss: 8.5.3 - css-has-pseudo@7.0.2(postcss@8.5.3): + css-has-pseudo@7.0.2(postcss@8.4.32): dependencies: '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 postcss-value-parser: 4.2.0 - css-loader@6.11.0(webpack@5.98.0): + css-loader@6.8.1(webpack@5.95.0): dependencies: - icss-utils: 5.1.0(postcss@8.5.3) - postcss: 8.5.3 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.3) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.3) - postcss-modules-scope: 3.2.1(postcss@8.5.3) - postcss-modules-values: 4.0.0(postcss@8.5.3) + icss-utils: 5.1.0(postcss@8.4.32) + postcss: 8.4.32 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.32) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.32) + postcss-modules-scope: 3.1.0(postcss@8.4.32) + postcss-modules-values: 4.0.0(postcss@8.4.32) postcss-value-parser: 4.2.0 - semver: 7.7.1 - optionalDependencies: - webpack: 5.98.0 + semver: 7.5.4 + webpack: 5.95.0 - css-minimizer-webpack-plugin@4.0.0(webpack@5.98.0): + css-minimizer-webpack-plugin@4.0.0(webpack@5.95.0): dependencies: - cssnano: 5.1.15(postcss@8.5.3) + cssnano: 5.1.15(postcss@8.4.32) jest-worker: 27.5.1 - postcss: 8.5.3 - schema-utils: 4.3.0 - serialize-javascript: 6.0.2 + postcss: 8.4.32 + schema-utils: 4.2.0 + serialize-javascript: 6.0.1 source-map: 0.6.1 - webpack: 5.98.0 + webpack: 5.95.0 - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.98.0): + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.95.0): dependencies: - '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.0.2(postcss@8.5.3) + '@jridgewell/trace-mapping': 0.3.20 + cssnano: 6.0.2(postcss@8.4.32) jest-worker: 29.7.0 - postcss: 8.5.3 - schema-utils: 4.3.0 - serialize-javascript: 6.0.2 - webpack: 5.98.0 + postcss: 8.4.32 + schema-utils: 4.2.0 + serialize-javascript: 6.0.1 + webpack: 5.95.0 optionalDependencies: clean-css: 5.3.3 - css-prefers-color-scheme@10.0.0(postcss@8.5.3): + css-prefers-color-scheme@10.0.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 css-select@4.3.0: dependencies: @@ -11498,10 +11571,10 @@ snapshots: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 5.0.3 - domutils: 3.2.2 + domutils: 3.1.0 nth-check: 2.0.1 - css-selector-parser@3.0.5: {} + css-selector-parser@3.0.4: {} css-tree@1.1.3: dependencies: @@ -11511,32 +11584,32 @@ snapshots: css-tree@2.2.1: dependencies: mdn-data: 2.0.28 - source-map-js: 1.2.1 + source-map-js: 1.0.2 css-tree@2.3.1: dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.1 + source-map-js: 1.0.2 css-what@6.1.0: {} - cssdb@8.2.3: {} + cssdb@8.2.4: {} cssesc@3.0.0: {} - cssnano-preset-advanced@6.0.2(postcss@8.5.3): + cssnano-preset-advanced@6.0.2(postcss@8.4.32): dependencies: - autoprefixer: 10.4.16(postcss@8.5.3) - cssnano-preset-default: 6.1.2(postcss@8.5.3) - postcss: 8.5.3 - postcss-discard-unused: 6.0.5(postcss@8.5.3) - postcss-merge-idents: 6.0.3(postcss@8.5.3) - postcss-reduce-idents: 6.0.3(postcss@8.5.3) - postcss-zindex: 6.0.2(postcss@8.5.3) + autoprefixer: 10.4.16(postcss@8.4.32) + cssnano-preset-default: 6.0.3(postcss@8.4.32) + postcss: 8.4.32 + postcss-discard-unused: 6.0.2(postcss@8.4.32) + postcss-merge-idents: 6.0.1(postcss@8.4.32) + postcss-reduce-idents: 6.0.2(postcss@8.4.32) + postcss-zindex: 6.0.1(postcss@8.4.32) cssnano-preset-advanced@6.1.2(postcss@8.5.3): dependencies: - autoprefixer: 10.4.20(postcss@8.5.3) + autoprefixer: 10.4.21(postcss@8.5.3) browserslist: 4.24.4 cssnano-preset-default: 6.1.2(postcss@8.5.3) postcss: 8.5.3 @@ -11545,38 +11618,105 @@ snapshots: postcss-reduce-idents: 6.0.3(postcss@8.5.3) postcss-zindex: 6.0.2(postcss@8.5.3) - cssnano-preset-default@5.2.14(postcss@8.5.3): + cssnano-preset-default@5.2.14(postcss@8.4.32): dependencies: - css-declaration-sorter: 6.4.1(postcss@8.5.3) - cssnano-utils: 3.1.0(postcss@8.5.3) - postcss: 8.5.3 - postcss-calc: 8.2.4(postcss@8.5.3) - postcss-colormin: 5.3.1(postcss@8.5.3) - postcss-convert-values: 5.1.3(postcss@8.5.3) - postcss-discard-comments: 5.1.2(postcss@8.5.3) - postcss-discard-duplicates: 5.1.0(postcss@8.5.3) - postcss-discard-empty: 5.1.1(postcss@8.5.3) - postcss-discard-overridden: 5.1.0(postcss@8.5.3) - postcss-merge-longhand: 5.1.7(postcss@8.5.3) - postcss-merge-rules: 5.1.4(postcss@8.5.3) - postcss-minify-font-values: 5.1.0(postcss@8.5.3) - postcss-minify-gradients: 5.1.1(postcss@8.5.3) - postcss-minify-params: 5.1.4(postcss@8.5.3) - postcss-minify-selectors: 5.2.1(postcss@8.5.3) - postcss-normalize-charset: 5.1.0(postcss@8.5.3) - postcss-normalize-display-values: 5.1.0(postcss@8.5.3) - postcss-normalize-positions: 5.1.1(postcss@8.5.3) - postcss-normalize-repeat-style: 5.1.1(postcss@8.5.3) - postcss-normalize-string: 5.1.0(postcss@8.5.3) - postcss-normalize-timing-functions: 5.1.0(postcss@8.5.3) - postcss-normalize-unicode: 5.1.1(postcss@8.5.3) - postcss-normalize-url: 5.1.0(postcss@8.5.3) - postcss-normalize-whitespace: 5.1.1(postcss@8.5.3) - postcss-ordered-values: 5.1.3(postcss@8.5.3) - postcss-reduce-initial: 5.1.2(postcss@8.5.3) - postcss-reduce-transforms: 5.1.0(postcss@8.5.3) - postcss-svgo: 5.1.0(postcss@8.5.3) - postcss-unique-selectors: 5.1.1(postcss@8.5.3) + css-declaration-sorter: 6.4.1(postcss@8.4.32) + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 + postcss-calc: 8.2.4(postcss@8.4.32) + postcss-colormin: 5.3.1(postcss@8.4.32) + postcss-convert-values: 5.1.3(postcss@8.4.32) + postcss-discard-comments: 5.1.2(postcss@8.4.32) + postcss-discard-duplicates: 5.1.0(postcss@8.4.32) + postcss-discard-empty: 5.1.1(postcss@8.4.32) + postcss-discard-overridden: 5.1.0(postcss@8.4.32) + postcss-merge-longhand: 5.1.7(postcss@8.4.32) + postcss-merge-rules: 5.1.4(postcss@8.4.32) + postcss-minify-font-values: 5.1.0(postcss@8.4.32) + postcss-minify-gradients: 5.1.1(postcss@8.4.32) + postcss-minify-params: 5.1.4(postcss@8.4.32) + postcss-minify-selectors: 5.2.1(postcss@8.4.32) + postcss-normalize-charset: 5.1.0(postcss@8.4.32) + postcss-normalize-display-values: 5.1.0(postcss@8.4.32) + postcss-normalize-positions: 5.1.1(postcss@8.4.32) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.32) + postcss-normalize-string: 5.1.0(postcss@8.4.32) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.32) + postcss-normalize-unicode: 5.1.1(postcss@8.4.32) + postcss-normalize-url: 5.1.0(postcss@8.4.32) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.32) + postcss-ordered-values: 5.1.3(postcss@8.4.32) + postcss-reduce-initial: 5.1.2(postcss@8.4.32) + postcss-reduce-transforms: 5.1.0(postcss@8.4.32) + postcss-svgo: 5.1.0(postcss@8.4.32) + postcss-unique-selectors: 5.1.1(postcss@8.4.32) + + cssnano-preset-default@6.0.3(postcss@8.4.32): + dependencies: + css-declaration-sorter: 7.1.1(postcss@8.4.32) + cssnano-utils: 4.0.1(postcss@8.4.32) + postcss: 8.4.32 + postcss-calc: 9.0.1(postcss@8.4.32) + postcss-colormin: 6.0.2(postcss@8.4.32) + postcss-convert-values: 6.0.2(postcss@8.4.32) + postcss-discard-comments: 6.0.1(postcss@8.4.32) + postcss-discard-duplicates: 6.0.1(postcss@8.4.32) + postcss-discard-empty: 6.0.1(postcss@8.4.32) + postcss-discard-overridden: 6.0.1(postcss@8.4.32) + postcss-merge-longhand: 6.0.2(postcss@8.4.32) + postcss-merge-rules: 6.0.3(postcss@8.4.32) + postcss-minify-font-values: 6.0.1(postcss@8.4.32) + postcss-minify-gradients: 6.0.1(postcss@8.4.32) + postcss-minify-params: 6.0.2(postcss@8.4.32) + postcss-minify-selectors: 6.0.2(postcss@8.4.32) + postcss-normalize-charset: 6.0.1(postcss@8.4.32) + postcss-normalize-display-values: 6.0.1(postcss@8.4.32) + postcss-normalize-positions: 6.0.1(postcss@8.4.32) + postcss-normalize-repeat-style: 6.0.1(postcss@8.4.32) + postcss-normalize-string: 6.0.1(postcss@8.4.32) + postcss-normalize-timing-functions: 6.0.1(postcss@8.4.32) + postcss-normalize-unicode: 6.0.2(postcss@8.4.32) + postcss-normalize-url: 6.0.1(postcss@8.4.32) + postcss-normalize-whitespace: 6.0.1(postcss@8.4.32) + postcss-ordered-values: 6.0.1(postcss@8.4.32) + postcss-reduce-initial: 6.0.2(postcss@8.4.32) + postcss-reduce-transforms: 6.0.1(postcss@8.4.32) + postcss-svgo: 6.0.2(postcss@8.4.32) + postcss-unique-selectors: 6.0.2(postcss@8.4.32) + + cssnano-preset-default@6.1.2(postcss@8.4.32): + dependencies: + browserslist: 4.24.4 + css-declaration-sorter: 7.2.0(postcss@8.4.32) + cssnano-utils: 4.0.2(postcss@8.4.32) + postcss: 8.4.32 + postcss-calc: 9.0.1(postcss@8.4.32) + postcss-colormin: 6.1.0(postcss@8.4.32) + postcss-convert-values: 6.1.0(postcss@8.4.32) + postcss-discard-comments: 6.0.2(postcss@8.4.32) + postcss-discard-duplicates: 6.0.3(postcss@8.4.32) + postcss-discard-empty: 6.0.3(postcss@8.4.32) + postcss-discard-overridden: 6.0.2(postcss@8.4.32) + postcss-merge-longhand: 6.0.5(postcss@8.4.32) + postcss-merge-rules: 6.1.1(postcss@8.4.32) + postcss-minify-font-values: 6.1.0(postcss@8.4.32) + postcss-minify-gradients: 6.0.3(postcss@8.4.32) + postcss-minify-params: 6.1.0(postcss@8.4.32) + postcss-minify-selectors: 6.0.4(postcss@8.4.32) + postcss-normalize-charset: 6.0.2(postcss@8.4.32) + postcss-normalize-display-values: 6.0.2(postcss@8.4.32) + postcss-normalize-positions: 6.0.2(postcss@8.4.32) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.32) + postcss-normalize-string: 6.0.2(postcss@8.4.32) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.32) + postcss-normalize-unicode: 6.1.0(postcss@8.4.32) + postcss-normalize-url: 6.0.2(postcss@8.4.32) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.32) + postcss-ordered-values: 6.0.2(postcss@8.4.32) + postcss-reduce-initial: 6.1.0(postcss@8.4.32) + postcss-reduce-transforms: 6.0.2(postcss@8.4.32) + postcss-svgo: 6.0.3(postcss@8.4.32) + postcss-unique-selectors: 6.0.4(postcss@8.4.32) cssnano-preset-default@6.1.2(postcss@8.5.3): dependencies: @@ -11612,32 +11752,40 @@ snapshots: postcss-svgo: 6.0.3(postcss@8.5.3) postcss-unique-selectors: 6.0.4(postcss@8.5.3) - cssnano-utils@3.1.0(postcss@8.5.3): + cssnano-utils@3.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + + cssnano-utils@4.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + + cssnano-utils@4.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 cssnano-utils@4.0.2(postcss@8.5.3): dependencies: postcss: 8.5.3 - cssnano@5.1.15(postcss@8.5.3): + cssnano@5.1.15(postcss@8.4.32): dependencies: - cssnano-preset-default: 5.2.14(postcss@8.5.3) + cssnano-preset-default: 5.2.14(postcss@8.4.32) lilconfig: 2.1.0 - postcss: 8.5.3 + postcss: 8.4.32 yaml: 1.10.2 - cssnano@6.0.2(postcss@8.5.3): + cssnano@6.0.2(postcss@8.4.32): dependencies: - cssnano-preset-default: 6.1.2(postcss@8.5.3) - lilconfig: 3.1.3 - postcss: 8.5.3 + cssnano-preset-default: 6.0.3(postcss@8.4.32) + lilconfig: 3.0.0 + postcss: 8.4.32 - cssnano@6.1.2(postcss@8.5.3): + cssnano@6.1.2(postcss@8.4.32): dependencies: - cssnano-preset-default: 6.1.2(postcss@8.5.3) + cssnano-preset-default: 6.1.2(postcss@8.4.32) lilconfig: 3.1.3 - postcss: 8.5.3 + postcss: 8.4.32 csso@4.2.0: dependencies: @@ -11649,17 +11797,15 @@ snapshots: csstype@3.1.3: {} - cytoscape-cose-bilkent@4.1.0(cytoscape@3.31.1): + cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1): dependencies: cose-base: 1.0.3 - cytoscape: 3.31.1 + cytoscape: 3.28.1 - cytoscape-fcose@2.2.0(cytoscape@3.31.1): + cytoscape@3.28.1: dependencies: - cose-base: 2.2.0 - cytoscape: 3.31.1 - - cytoscape@3.31.1: {} + heap: 0.2.7 + lodash: 4.17.21 d3-array@2.12.1: dependencies: @@ -11691,7 +11837,7 @@ snapshots: d3-delaunay@6.0.4: dependencies: - delaunator: 5.0.1 + delaunator: 5.0.0 d3-dispatch@3.0.1: {} @@ -11720,7 +11866,7 @@ snapshots: d3-format@3.1.0: {} - d3-geo@3.1.1: + d3-geo@3.1.0: dependencies: d3-array: 3.2.4 @@ -11745,7 +11891,7 @@ snapshots: d3-array: 2.12.1 d3-shape: 1.3.7 - d3-scale-chromatic@3.1.0: + d3-scale-chromatic@3.0.0: dependencies: d3-color: 3.1.0 d3-interpolate: 3.0.1 @@ -11795,7 +11941,7 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - d3@7.9.0: + d3@7.8.5: dependencies: d3-array: 3.2.4 d3-axis: 3.0.0 @@ -11811,7 +11957,7 @@ snapshots: d3-fetch: 3.0.1 d3-force: 3.0.0 d3-format: 3.1.0 - d3-geo: 3.1.1 + d3-geo: 3.1.0 d3-hierarchy: 3.1.2 d3-interpolate: 3.0.1 d3-path: 3.1.0 @@ -11819,7 +11965,7 @@ snapshots: d3-quadtree: 3.0.1 d3-random: 3.0.1 d3-scale: 4.0.2 - d3-scale-chromatic: 3.1.0 + d3-scale-chromatic: 3.0.0 d3-selection: 3.0.0 d3-shape: 3.2.0 d3-time: 3.1.0 @@ -11828,9 +11974,9 @@ snapshots: d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 - dagre-d3-es@7.0.11: + dagre-d3-es@7.0.10: dependencies: - d3: 7.9.0 + d3: 7.8.5 lodash-es: 4.17.21 data-uri-to-buffer@4.0.1: {} @@ -11843,9 +11989,9 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.4.0: + debug@4.3.4: dependencies: - ms: 2.1.3 + ms: 2.1.2 decode-named-character-reference@1.0.2: dependencies: @@ -11867,9 +12013,9 @@ snapshots: define-data-property@1.1.4: dependencies: - es-define-property: 1.0.1 + es-define-property: 1.0.0 es-errors: 1.3.0 - gopd: 1.2.0 + gopd: 1.0.1 define-lazy-prop@2.0.0: {} @@ -11890,7 +12036,7 @@ snapshots: rimraf: 3.0.2 slash: 3.0.0 - delaunator@5.0.1: + delaunator@5.0.0: dependencies: robust-predicates: 3.0.2 @@ -11911,10 +12057,10 @@ snapshots: transitivePeerDependencies: - supports-color - detect-port@1.6.1: + detect-port@1.5.1: dependencies: address: 1.2.2 - debug: 4.4.0 + debug: 4.3.4 transitivePeerDependencies: - supports-color @@ -11922,7 +12068,7 @@ snapshots: dependencies: dequal: 2.0.3 - diff@5.2.0: {} + diff@5.1.0: {} dir-glob@3.0.1: dependencies: @@ -11930,7 +12076,7 @@ snapshots: dns-packet@5.6.1: dependencies: - '@leichtgewicht/ip-codec': 2.0.5 + '@leichtgewicht/ip-codec': 2.0.4 docusaurus-plugin-hubspot@1.0.0: {} @@ -11974,7 +12120,7 @@ snapshots: domelementtype: 2.3.0 domhandler: 4.3.1 - domutils@3.2.2: + domutils@3.1.0: dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 @@ -11983,7 +12129,7 @@ snapshots: dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.6.2 dot-prop@6.0.1: dependencies: @@ -11991,19 +12137,17 @@ snapshots: dotenv@16.4.5: {} - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - duplexer@0.1.2: {} eastasianwidth@0.2.0: {} ee-first@1.1.1: {} - electron-to-chromium@1.5.109: {} + electron-to-chromium@1.4.618: {} + + electron-to-chromium@1.5.119: {} + + elkjs@0.9.3: {} emoji-regex@8.0.0: {} @@ -12013,18 +12157,13 @@ snapshots: emojis-list@3.0.0: {} - emoticon@4.1.0: {} + emoticon@4.0.1: {} encodeurl@1.0.2: {} encodeurl@2.0.0: {} - encoding-sniffer@0.2.0: - dependencies: - iconv-lite: 0.6.3 - whatwg-encoding: 3.1.1 - - enhanced-resolve@5.18.1: + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -12037,29 +12176,15 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-define-property@1.0.1: {} + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 es-errors@1.3.0: {} - es-module-lexer@1.6.0: {} + es-module-lexer@1.4.1: {} - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - 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.1.1: {} escalade@3.2.0: {} @@ -12090,40 +12215,36 @@ snapshots: estree-util-attach-comments@3.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-util-build-jsx@3.0.1: dependencies: - '@types/estree-jsx': 1.0.5 + '@types/estree-jsx': 1.0.3 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 + '@types/estree-jsx': 1.0.3 + astring: 1.8.6 source-map: 0.7.4 - estree-util-value-to-estree@3.3.2: + estree-util-value-to-estree@3.0.1: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 + is-plain-obj: 4.1.0 estree-util-visit@2.0.0: dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 3.0.3 + '@types/estree-jsx': 1.0.3 + '@types/unist': 3.0.2 estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 esutils@2.0.3: {} @@ -12133,7 +12254,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 22.13.7 + '@types/node': 20.10.6 require-like: 0.1.2 eventemitter3@4.0.7: {} @@ -12142,7 +12263,7 @@ snapshots: execa@5.1.1: dependencies: - cross-spawn: 7.0.6 + cross-spawn: 7.0.3 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -12152,14 +12273,14 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - express@4.21.2: + express@4.21.0: 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: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 @@ -12173,7 +12294,7 @@ snapshots: methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.12 + path-to-regexp: 0.1.10 proxy-addr: 2.0.7 qs: 6.13.0 range-parser: 1.2.1 @@ -12196,7 +12317,7 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-glob@3.3.3: + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -12206,11 +12327,9 @@ snapshots: fast-json-stable-stringify@2.1.0: {} - fast-uri@3.0.6: {} - - fastq@1.19.1: + fastq@1.16.0: dependencies: - reusify: 1.1.0 + reusify: 1.0.4 fault@2.0.1: dependencies: @@ -12227,17 +12346,17 @@ snapshots: fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 + web-streams-polyfill: 3.2.1 figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 - file-loader@6.2.0(webpack@5.98.0): + file-loader@6.2.0(webpack@5.95.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.98.0 + webpack: 5.95.0 filesize@8.0.7: {} @@ -12278,14 +12397,14 @@ snapshots: flat@5.0.2: {} - follow-redirects@1.15.9: {} + follow-redirects@1.15.6: {} - fork-ts-checker-webpack-plugin@6.5.3(typescript@5.8.2)(webpack@5.98.0): + fork-ts-checker-webpack-plugin@6.5.3(typescript@5.3.3)(webpack@5.95.0): dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.23.5 '@types/json-schema': 7.0.15 chalk: 4.1.2 - chokidar: 3.6.0 + chokidar: 3.5.3 cosmiconfig: 6.0.0 deepmerge: 4.3.1 fs-extra: 9.1.0 @@ -12293,10 +12412,10 @@ snapshots: memfs: 3.5.3 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.7.1 + semver: 7.5.4 tapable: 1.1.3 - typescript: 5.8.2 - webpack: 5.98.0 + typescript: 5.3.3 + webpack: 5.95.0 form-data-encoder@2.1.4: {} @@ -12314,7 +12433,7 @@ snapshots: fresh@0.5.2: {} - fs-extra@11.3.0: + fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -12327,7 +12446,7 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 - fs-monkey@1.0.6: {} + fs-monkey@1.0.5: {} fs.realpath@1.0.0: {} @@ -12338,26 +12457,16 @@ snapshots: gensync@1.0.0-beta.2: {} - get-intrinsic@1.3.0: + get-intrinsic@1.2.4: dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 get-own-enumerable-property-symbols@3.0.2: {} - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - get-stream@6.0.1: {} github-slugger@1.5.0: {} @@ -12397,26 +12506,26 @@ snapshots: globals@11.12.0: {} - globals@15.15.0: {} - globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 + fast-glob: 3.3.2 + ignore: 5.3.0 merge2: 1.4.1 slash: 3.0.0 globby@13.2.2: dependencies: dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 + fast-glob: 3.3.2 + ignore: 5.3.0 merge2: 1.4.1 slash: 4.0.0 - gopd@1.2.0: {} + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 got@12.6.1: dependencies: @@ -12447,91 +12556,93 @@ snapshots: dependencies: duplexer: 0.1.2 - hachure-fill@0.5.2: {} - handle-thing@2.0.1: {} + has-flag@3.0.0: {} + has-flag@4.0.0: {} has-property-descriptors@1.0.2: dependencies: - es-define-property: 1.0.1 + es-define-property: 1.0.0 - has-symbols@1.1.0: {} + has-proto@1.0.1: {} + + has-symbols@1.0.3: {} has-yarn@3.0.0: {} - hasown@2.0.2: + hasown@2.0.0: dependencies: function-bind: 1.1.2 - hast-util-from-parse5@8.0.3: + hast-util-from-parse5@8.0.1: dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 devlop: 1.1.0 - hastscript: 9.0.1 - property-information: 7.0.0 - vfile: 6.0.3 - vfile-location: 5.0.3 + hastscript: 8.0.0 + property-information: 6.4.0 + vfile: 6.0.1 + vfile-location: 5.0.2 web-namespaces: 2.0.1 hast-util-parse-selector@4.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.3 - hast-util-raw@9.1.0: + hast-util-raw@9.0.1: dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.0 - hast-util-from-parse5: 8.0.3 + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 - parse5: 7.2.1 + mdast-util-to-hast: 13.0.2 + parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 - vfile: 6.0.3 + vfile: 6.0.1 web-namespaces: 2.0.1 zwitch: 2.0.4 - hast-util-to-estree@3.1.2: + hast-util-to-estree@3.1.0: dependencies: - '@types/estree': 1.0.6 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 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.2.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.0.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 - style-to-object: 1.0.8 + 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.5: + hast-util-to-jsx-runtime@2.3.0: dependencies: - '@types/estree': 1.0.6 - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 + '@types/estree': 1.0.5 + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 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.2.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.0.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 - style-to-object: 1.0.8 + style-to-object: 1.0.5 unist-util-position: 5.0.0 vfile-message: 4.0.2 transitivePeerDependencies: @@ -12539,10 +12650,10 @@ snapshots: hast-util-to-parse5@8.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 6.5.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -12551,24 +12662,26 @@ snapshots: hast-util-whitespace@3.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.3 - hastscript@9.0.1: + hastscript@8.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 7.0.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 he@1.2.0: {} + heap@0.2.7: {} + history@4.10.1: dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.23.7 loose-envify: 1.4.0 resolve-pathname: 3.0.0 - tiny-invariant: 1.3.3 + tiny-invariant: 1.3.1 tiny-warning: 1.0.3 value-equal: 1.0.1 @@ -12585,15 +12698,15 @@ snapshots: htm@3.1.1: {} - html-entities@2.5.2: {} + html-entities@2.4.0: {} html-escaper@2.0.2: {} - html-loader@4.2.0(webpack@5.98.0): + html-loader@4.2.0(webpack@5.95.0): dependencies: html-minifier-terser: 7.2.0 - parse5: 7.2.1 - webpack: 5.98.0 + parse5: 7.1.2 + webpack: 5.95.0 html-minifier-terser@6.1.0: dependencies: @@ -12603,7 +12716,7 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.39.0 + terser: 5.26.0 html-minifier-terser@7.2.0: dependencies: @@ -12613,13 +12726,13 @@ snapshots: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.39.0 + terser: 5.26.0 html-tags@3.3.1: {} html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(webpack@5.98.0): + html-webpack-plugin@5.6.0(webpack@5.95.0): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -12627,7 +12740,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.98.0 + webpack: 5.95.0 htmlparser2@6.1.0: dependencies: @@ -12640,14 +12753,7 @@ snapshots: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 - - htmlparser2@9.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 + domutils: 3.1.0 entities: 4.5.0 http-cache-semantics@4.1.1: {} @@ -12669,11 +12775,11 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 - http-parser-js@0.5.9: {} + http-parser-js@0.5.8: {} http-proxy-middleware@2.0.7(@types/express@4.17.21): dependencies: - '@types/http-proxy': 1.17.16 + '@types/http-proxy': 1.17.14 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -12686,7 +12792,7 @@ snapshots: http-proxy@1.18.1: dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.9 + follow-redirects: 1.15.6 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -12706,19 +12812,19 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.3): + icss-utils@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - ignore@5.3.2: {} + ignore@5.3.0: {} - image-size@1.2.0: + image-size@1.1.1: dependencies: queue: 6.0.2 immer@9.0.21: {} - import-fresh@3.3.1: + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 @@ -12746,7 +12852,7 @@ snapshots: inline-style-parser@0.1.1: {} - inline-style-parser@0.2.4: {} + inline-style-parser@0.2.2: {} internmap@1.0.1: {} @@ -12760,7 +12866,7 @@ snapshots: ipaddr.js@1.9.1: {} - ipaddr.js@2.2.0: {} + ipaddr.js@2.1.0: {} is-alphabetical@2.0.1: {} @@ -12773,7 +12879,7 @@ snapshots: is-binary-path@2.1.0: dependencies: - binary-extensions: 2.3.0 + binary-extensions: 2.2.0 is-buffer@2.0.5: {} @@ -12781,9 +12887,9 @@ snapshots: dependencies: ci-info: 3.9.0 - is-core-module@2.16.1: + is-core-module@2.13.1: dependencies: - hasown: 2.0.2 + hasown: 2.0.0 is-decimal@2.0.1: {} @@ -12828,6 +12934,10 @@ snapshots: is-plain-object@5.0.0: {} + is-reference@3.0.2: + dependencies: + '@types/estree': 1.0.5 + is-regexp@1.0.0: {} is-root@2.1.0: {} @@ -12855,7 +12965,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.7 + '@types/node': 20.10.6 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -12863,24 +12973,24 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.13.7 + '@types/node': 20.10.6 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 22.13.7 + '@types/node': 20.10.6 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jiti@1.21.7: {} + jiti@1.21.0: {} - joi@17.13.3: + joi@17.11.0: dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.5 + '@sideway/address': 4.1.4 '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 @@ -12897,6 +13007,10 @@ snapshots: jsep@1.4.0: {} + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + jsesc@3.0.2: {} jsesc@3.1.0: {} @@ -12934,7 +13048,7 @@ snapshots: '@jsep-plugin/regex': 1.0.4(jsep@1.4.0) jsep: 1.4.0 - katex@0.16.21: + katex@0.16.11: dependencies: commander: 8.3.0 @@ -12950,33 +13064,23 @@ snapshots: kleur@4.1.5: {} - kolorist@1.8.0: {} - - langium@3.0.0: - dependencies: - chevrotain: 11.0.3 - chevrotain-allstar: 0.3.1(chevrotain@11.0.3) - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.0.8 - latest-version@7.0.0: dependencies: package-json: 8.1.1 - launch-editor@2.10.0: + launch-editor@2.6.1: dependencies: - picocolors: 1.1.1 - shell-quote: 1.8.2 + picocolors: 1.0.0 + shell-quote: 1.8.1 layout-base@1.0.2: {} - layout-base@2.0.1: {} - leven@3.1.0: {} lilconfig@2.1.0: {} + lilconfig@3.0.0: {} + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -12989,13 +13093,7 @@ snapshots: emojis-list: 3.0.0 json5: 2.2.3 - loader-utils@3.3.1: {} - - local-pkg@1.1.0: - dependencies: - mlly: 1.7.4 - pkg-types: 1.3.1 - quansync: 0.2.6 + loader-utils@3.2.1: {} locate-path@3.0.0: dependencies: @@ -13028,7 +13126,7 @@ snapshots: lower-case@2.0.2: dependencies: - tslib: 2.8.1 + tslib: 2.6.2 lowercase-keys@3.0.0: {} @@ -13036,6 +13134,10 @@ snapshots: dependencies: yallist: 3.1.1 + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + lunr-languages@1.14.0: {} mark.js@8.11.1: {} @@ -13046,35 +13148,30 @@ snapshots: dependencies: repeat-string: 1.6.1 - markdown-table@3.0.4: {} - - marked@13.0.3: {} - - math-intrinsics@1.1.0: {} + markdown-table@3.0.3: {} mdast-util-definitions@5.1.2: dependencies: '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-visit: 4.1.2 - mdast-util-directive@3.1.0: + mdast-util-directive@3.0.0: dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - parse-entities: 4.0.2 - stringify-entities: 4.0.4 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 unist-util-visit-parents: 6.0.1 transitivePeerDependencies: - supports-color - mdast-util-find-and-replace@3.0.2: + mdast-util-find-and-replace@3.0.1: dependencies: - '@types/mdast': 4.0.4 + '@types/mdast': 4.0.3 escape-string-regexp: 5.0.0 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 @@ -13082,7 +13179,7 @@ snapshots: mdast-util-from-markdown@1.3.1: dependencies: '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 decode-named-character-reference: 1.0.2 mdast-util-to-string: 3.2.0 micromark: 3.2.0 @@ -13096,114 +13193,115 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-from-markdown@2.0.2: + mdast-util-from-markdown@2.0.0: dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 decode-named-character-reference: 1.0.2 devlop: 1.1.0 mdast-util-to-string: 4.0.0 - micromark: 4.0.2 - 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.2 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + 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 transitivePeerDependencies: - supports-color mdast-util-frontmatter@2.0.1: dependencies: - '@types/mdast': 4.0.4 + '@types/mdast': 4.0.3 devlop: 1.1.0 escape-string-regexp: 5.0.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 micromark-extension-frontmatter: 2.0.0 transitivePeerDependencies: - supports-color - mdast-util-gfm-autolink-literal@2.0.1: + mdast-util-gfm-autolink-literal@2.0.0: dependencies: - '@types/mdast': 4.0.4 + '@types/mdast': 4.0.3 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.2 - micromark-util-character: 2.1.1 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.0.1 - mdast-util-gfm-footnote@2.1.0: + mdast-util-gfm-footnote@2.0.0: dependencies: - '@types/mdast': 4.0.4 + '@types/mdast': 4.0.3 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 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 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 + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color mdast-util-gfm-table@2.0.0: dependencies: - '@types/mdast': 4.0.4 + '@types/mdast': 4.0.3 devlop: 1.1.0 - markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color mdast-util-gfm-task-list-item@2.0.0: dependencies: - '@types/mdast': 4.0.4 + '@types/mdast': 4.0.3 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - mdast-util-gfm@3.1.0: + 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.1.0 + 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.1.2 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - mdast-util-mdx-expression@2.0.1: + mdast-util-mdx-expression@2.0.0: dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - mdast-util-mdx-jsx@3.2.0: + mdast-util-mdx-jsx@3.0.0: dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 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.2 - stringify-entities: 4.0.4 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 + unist-util-remove-position: 5.0.0 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 transitivePeerDependencies: @@ -13211,33 +13309,33 @@ snapshots: 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.2.0 + 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.1 - mdast-util-to-markdown: 2.1.2 + mdast-util-to-markdown: 2.1.0 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 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - mdast-util-phrasing@4.1.0: + mdast-util-phrasing@4.0.0: dependencies: - '@types/mdast': 4.0.4 + '@types/mdast': 4.0.3 unist-util-is: 6.0.0 mdast-util-to-hast@12.3.0: dependencies: - '@types/hast': 2.3.10 + '@types/hast': 2.3.9 '@types/mdast': 3.0.15 mdast-util-definitions: 5.1.2 micromark-util-sanitize-uri: 1.2.0 @@ -13246,27 +13344,25 @@ snapshots: unist-util-position: 4.0.4 unist-util-visit: 4.1.2 - mdast-util-to-hast@13.2.0: + mdast-util-to-hast@13.0.2: dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.0 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.1 + micromark-util-sanitize-uri: 2.0.0 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: + mdast-util-to-markdown@2.1.0: dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 longest-streak: 3.1.0 - mdast-util-phrasing: 4.1.0 + mdast-util-phrasing: 4.0.0 mdast-util-to-string: 4.0.0 - micromark-util-classify-character: 2.0.1 - micromark-util-decode-string: 2.0.1 + micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -13276,7 +13372,7 @@ snapshots: mdast-util-to-string@4.0.0: dependencies: - '@types/mdast': 4.0.4 + '@types/mdast': 4.0.3 mdn-data@2.0.14: {} @@ -13288,7 +13384,7 @@ snapshots: memfs@3.5.3: dependencies: - fs-monkey: 1.0.6 + fs-monkey: 1.0.5 merge-descriptors@1.0.3: {} @@ -13296,28 +13392,28 @@ snapshots: merge2@1.4.1: {} - mermaid@11.4.1: + mermaid@10.9.3: dependencies: - '@braintree/sanitize-url': 7.1.1 - '@iconify/utils': 2.3.0 - '@mermaid-js/parser': 0.3.0 - '@types/d3': 7.4.3 - cytoscape: 3.31.1 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.31.1) - cytoscape-fcose: 2.2.0(cytoscape@3.31.1) - d3: 7.9.0 + '@braintree/sanitize-url': 6.0.4 + '@types/d3-scale': 4.0.8 + '@types/d3-scale-chromatic': 3.0.3 + cytoscape: 3.28.1 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.28.1) + d3: 7.8.5 d3-sankey: 0.12.3 - dagre-d3-es: 7.0.11 + dagre-d3-es: 7.0.10 dayjs: 1.11.11 dompurify: 3.2.4 - katex: 0.16.21 + elkjs: 0.9.3 + katex: 0.16.11 khroma: 2.1.0 lodash-es: 4.17.21 - marked: 13.0.3 - roughjs: 4.6.6 - stylis: 4.3.6 + mdast-util-from-markdown: 1.3.1 + non-layered-tidy-tree-layout: 2.0.2 + stylis: 4.3.1 ts-dedent: 2.2.0 uuid: 9.0.1 + web-worker: 1.2.0 transitivePeerDependencies: - supports-color @@ -13342,151 +13438,150 @@ snapshots: micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-core-commonmark@2.0.3: + micromark-core-commonmark@2.0.0: 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.1.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + 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.1 + 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 - micromark-extension-directive@3.0.2: + micromark-extension-directive@3.0.0: 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.2 - parse-entities: 4.0.2 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + 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.2 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - micromark-extension-gfm-autolink-literal@2.1.0: + micromark-extension-gfm-autolink-literal@2.0.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.2 + micromark-util-character: 2.0.1 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - micromark-extension-gfm-footnote@2.1.0: + micromark-extension-gfm-footnote@2.0.0: dependencies: devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - 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.2 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + 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 - micromark-extension-gfm-strikethrough@2.1.0: + micromark-extension-gfm-strikethrough@2.0.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.2 + 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 - micromark-extension-gfm-table@2.1.1: + micromark-extension-gfm-table@2.0.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.2 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-gfm-tagfilter@2.0.0: dependencies: - micromark-util-types: 2.0.2 + micromark-util-types: 2.0.0 - micromark-extension-gfm-task-list-item@2.1.0: + micromark-extension-gfm-task-list-item@2.0.1: 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.2 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 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.1 + 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.1.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.2 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-mdx-expression@3.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 devlop: 1.1.0 - micromark-factory-mdx-expression: 2.0.2 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - micromark-extension-mdx-jsx@3.0.1: + micromark-extension-mdx-jsx@3.0.0: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 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.2 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 vfile-message: 4.0.2 micromark-extension-mdx-md@2.0.0: dependencies: - micromark-util-types: 2.0.2 + micromark-util-types: 2.0.0 micromark-extension-mdxjs-esm@3.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-util-character: 2.1.1 + micromark-core-commonmark: 2.0.0 + micromark-util-character: 2.0.1 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 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) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) micromark-extension-mdx-expression: 3.0.0 - micromark-extension-mdx-jsx: 3.0.1 + 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.1 - micromark-util-types: 2.0.2 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 micromark-factory-destination@1.1.0: dependencies: @@ -13494,11 +13589,11 @@ snapshots: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - micromark-factory-destination@2.0.1: + micromark-factory-destination@2.0.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-factory-label@1.1.0: dependencies: @@ -13507,22 +13602,21 @@ snapshots: micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-factory-label@2.0.1: + micromark-factory-label@2.0.0: dependencies: devlop: 1.1.0 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - micromark-factory-mdx-expression@2.0.2: + micromark-factory-mdx-expression@2.0.1: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 + micromark-util-character: 2.0.1 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 unist-util-position-from-estree: 2.0.0 vfile-message: 4.0.2 @@ -13531,10 +13625,10 @@ snapshots: micromark-util-character: 1.2.0 micromark-util-types: 1.1.0 - micromark-factory-space@2.0.1: + micromark-factory-space@2.0.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-types: 2.0.2 + micromark-util-character: 2.0.1 + micromark-util-types: 2.0.0 micromark-factory-title@1.1.0: dependencies: @@ -13543,12 +13637,12 @@ snapshots: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - micromark-factory-title@2.0.1: + micromark-factory-title@2.0.0: dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-factory-whitespace@1.1.0: dependencies: @@ -13557,30 +13651,30 @@ snapshots: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - micromark-factory-whitespace@2.0.1: + micromark-factory-whitespace@2.0.0: dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 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: + micromark-util-character@2.0.1: dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-util-chunked@1.1.0: dependencies: micromark-util-symbol: 1.1.0 - micromark-util-chunked@2.0.1: + micromark-util-chunked@2.0.0: dependencies: - micromark-util-symbol: 2.0.1 + micromark-util-symbol: 2.0.0 micromark-util-classify-character@1.1.0: dependencies: @@ -13588,29 +13682,29 @@ snapshots: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - micromark-util-classify-character@2.0.1: + micromark-util-classify-character@2.0.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-util-combine-extensions@1.1.0: dependencies: micromark-util-chunked: 1.1.0 micromark-util-types: 1.1.0 - micromark-util-combine-extensions@2.0.1: + micromark-util-combine-extensions@2.0.0: dependencies: - micromark-util-chunked: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 micromark-util-decode-numeric-character-reference@1.1.0: dependencies: micromark-util-symbol: 1.1.0 - micromark-util-decode-numeric-character-reference@2.0.2: + micromark-util-decode-numeric-character-reference@2.0.1: dependencies: - micromark-util-symbol: 2.0.1 + micromark-util-symbol: 2.0.0 micromark-util-decode-string@1.1.0: dependencies: @@ -13619,47 +13713,47 @@ snapshots: micromark-util-decode-numeric-character-reference: 1.1.0 micromark-util-symbol: 1.1.0 - micromark-util-decode-string@2.0.1: + micromark-util-decode-string@2.0.0: 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-character: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 micromark-util-encode@1.1.0: {} - micromark-util-encode@2.0.1: {} + micromark-util-encode@2.0.0: {} micromark-util-events-to-acorn@2.0.2: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.6 - '@types/unist': 3.0.3 + '@types/estree': 1.0.5 + '@types/unist': 3.0.2 devlop: 1.1.0 estree-util-visit: 2.0.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 vfile-message: 4.0.2 micromark-util-html-tag-name@1.2.0: {} - micromark-util-html-tag-name@2.0.1: {} + micromark-util-html-tag-name@2.0.0: {} micromark-util-normalize-identifier@1.1.0: dependencies: micromark-util-symbol: 1.1.0 - micromark-util-normalize-identifier@2.0.1: + micromark-util-normalize-identifier@2.0.0: dependencies: - micromark-util-symbol: 2.0.1 + micromark-util-symbol: 2.0.0 micromark-util-resolve-all@1.1.0: dependencies: micromark-util-types: 1.1.0 - micromark-util-resolve-all@2.0.1: + micromark-util-resolve-all@2.0.0: dependencies: - micromark-util-types: 2.0.2 + micromark-util-types: 2.0.0 micromark-util-sanitize-uri@1.2.0: dependencies: @@ -13667,11 +13761,11 @@ snapshots: micromark-util-encode: 1.1.0 micromark-util-symbol: 1.1.0 - micromark-util-sanitize-uri@2.0.1: + micromark-util-sanitize-uri@2.0.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 + micromark-util-character: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 micromark-util-subtokenize@1.1.0: dependencies: @@ -13680,25 +13774,25 @@ snapshots: micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-util-subtokenize@2.1.0: + micromark-util-subtokenize@2.0.0: dependencies: devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-util-symbol@1.1.0: {} - micromark-util-symbol@2.0.1: {} + micromark-util-symbol@2.0.0: {} micromark-util-types@1.1.0: {} - micromark-util-types@2.0.2: {} + micromark-util-types@2.0.0: {} micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.0 + debug: 4.3.4 decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -13717,25 +13811,25 @@ snapshots: transitivePeerDependencies: - supports-color - micromark@4.0.2: + micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.0 + debug: 4.3.4 decode-named-character-reference: 1.0.2 devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - 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.1.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + 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 transitivePeerDependencies: - supports-color @@ -13748,8 +13842,6 @@ snapshots: mime-db@1.52.0: {} - mime-db@1.53.0: {} - mime-types@2.1.18: dependencies: mime-db: 1.33.0 @@ -13768,16 +13860,16 @@ snapshots: mini-create-react-context@0.4.1(prop-types@15.8.1)(react@18.2.0): dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.23.7 prop-types: 15.8.1 react: 18.2.0 tiny-warning: 1.0.3 - mini-css-extract-plugin@2.9.2(webpack@5.98.0): + mini-css-extract-plugin@2.9.2(webpack@5.95.0): dependencies: - schema-utils: 4.3.0 + schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.98.0 + webpack: 5.95.0 minimalistic-assert@1.0.1: {} @@ -13787,19 +13879,14 @@ snapshots: minimist@1.2.8: {} - mlly@1.7.4: - dependencies: - acorn: 8.14.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.5.4 - mri@1.2.0: {} - mrmime@2.0.1: {} + mrmime@2.0.0: {} ms@2.0.0: {} + ms@2.1.2: {} + ms@2.1.3: {} multicast-dns@7.2.5: @@ -13807,22 +13894,22 @@ snapshots: dns-packet: 5.6.1 thunky: 1.1.0 - nanoid@3.3.8: {} + nanoid@3.3.10: {} + + nanoid@3.3.7: {} 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 + tslib: 2.6.2 node-domexception@1.0.0: {} - node-emoji@2.2.0: + node-emoji@2.1.3: dependencies: '@sindresorhus/is': 4.6.0 char-regex: 1.0.2 @@ -13837,15 +13924,19 @@ snapshots: node-forge@1.3.1: {} + node-releases@2.0.14: {} + node-releases@2.0.19: {} + non-layered-tidy-tree-layout@2.0.2: {} + normalize-path@3.0.0: {} normalize-range@0.1.2: {} normalize-url@6.1.0: {} - normalize-url@8.0.1: {} + normalize-url@8.0.0: {} npm-run-path@4.0.1: dependencies: @@ -13857,25 +13948,23 @@ snapshots: dependencies: boolbase: 1.0.0 - null-loader@4.0.1(webpack@5.98.0): + null-loader@4.0.1(webpack@5.95.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.98.0 + webpack: 5.95.0 object-assign@4.1.1: {} - object-inspect@1.13.4: {} + object-inspect@1.13.1: {} object-keys@1.1.1: {} - object.assign@4.1.7: + object.assign@4.1.5: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 + call-bind: 1.0.7 define-properties: 1.2.1 - es-object-atoms: 1.1.1 - has-symbols: 1.1.0 + has-symbols: 1.0.3 object-keys: 1.1.1 obuf@1.1.2: {} @@ -13918,7 +14007,7 @@ snapshots: p-limit@4.0.0: dependencies: - yocto-queue: 1.1.1 + yocto-queue: 1.0.0 p-locate@3.0.0: dependencies: @@ -13946,26 +14035,23 @@ snapshots: package-json@8.1.1: dependencies: got: 12.6.1 - registry-auth-token: 5.1.0 + registry-auth-token: 5.0.2 registry-url: 6.0.1 - semver: 7.7.1 - - package-manager-detector@0.2.10: - dependencies: - quansync: 0.2.6 + semver: 7.5.4 param-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.6.2 parent-module@1.0.1: dependencies: callsites: 3.1.0 - parse-entities@4.0.2: + parse-entities@4.0.1: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 + character-entities: 2.0.2 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 decode-named-character-reference: 1.0.2 @@ -13975,7 +14061,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -13984,16 +14070,12 @@ snapshots: parse-srcset@1.0.2: {} - parse5-htmlparser2-tree-adapter@7.1.0: + parse5-htmlparser2-tree-adapter@7.0.0: dependencies: domhandler: 5.0.3 - parse5: 7.2.1 + parse5: 7.1.2 - parse5-parser-stream@7.1.2: - dependencies: - parse5: 7.2.1 - - parse5@7.2.1: + parse5@7.1.2: dependencies: entities: 4.5.0 @@ -14002,9 +14084,7 @@ snapshots: pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.8.1 - - path-data-parser@0.1.0: {} + tslib: 2.6.2 path-exists@3.0.0: {} @@ -14020,9 +14100,9 @@ snapshots: path-parse@1.0.7: {} - path-to-regexp@0.1.12: {} + path-to-regexp@0.1.10: {} - path-to-regexp@1.9.0: + path-to-regexp@1.8.0: dependencies: isarray: 0.0.1 @@ -14030,7 +14110,13 @@ snapshots: path-type@4.0.0: {} - pathe@2.0.3: {} + periscopic@3.1.0: + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + + picocolors@1.0.0: {} picocolors@1.1.1: {} @@ -14040,72 +14126,81 @@ snapshots: dependencies: find-up: 6.3.0 - pkg-types@1.3.1: - dependencies: - confbox: 0.1.8 - mlly: 1.7.4 - pathe: 2.0.3 - pkg-up@3.1.0: dependencies: find-up: 3.0.0 - points-on-curve@0.2.0: {} - - points-on-path@0.2.1: + postcss-attribute-case-insensitive@7.0.1(postcss@8.4.32): dependencies: - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - - postcss-attribute-case-insensitive@7.0.1(postcss@8.5.3): - dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - postcss-calc@8.2.4(postcss@8.5.3): + postcss-calc@8.2.4(postcss@8.4.32): dependencies: - postcss: 8.5.3 - postcss-selector-parser: 6.1.2 + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + postcss-value-parser: 4.2.0 + + postcss-calc@9.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 postcss-calc@9.0.1(postcss@8.5.3): dependencies: postcss: 8.5.3 - postcss-selector-parser: 6.1.2 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 - postcss-clamp@4.1.0(postcss@8.5.3): + postcss-clamp@4.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-color-functional-notation@7.0.8(postcss@8.5.3): + postcss-color-functional-notation@7.0.8(postcss@8.4.32): dependencies: '@csstools/css-color-parser': 3.0.8(@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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - postcss-color-hex-alpha@10.0.0(postcss@8.5.3): + postcss-color-hex-alpha@10.0.0(postcss@8.4.32): dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-color-rebeccapurple@10.0.0(postcss@8.5.3): + postcss-color-rebeccapurple@10.0.0(postcss@8.4.32): dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-colormin@5.3.1(postcss@8.5.3): + postcss-colormin@5.3.1(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.0.2(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.1.0(postcss@8.4.32): dependencies: browserslist: 4.24.4 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-colormin@6.1.0(postcss@8.5.3): @@ -14116,16 +14211,28 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-convert-values@5.1.3(postcss@8.5.3): + postcss-convert-values@5.1.3(postcss@8.4.32): dependencies: - browserslist: 4.24.4 - postcss: 8.5.3 + browserslist: 4.22.2 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-convert-values@6.0.1(postcss@8.5.3): + postcss-convert-values@6.0.1(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.0.2(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.1.0(postcss@8.4.32): dependencies: browserslist: 4.24.4 - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-convert-values@6.1.0(postcss@8.5.3): @@ -14134,130 +14241,169 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-custom-media@11.0.5(postcss@8.5.3): + postcss-custom-media@11.0.5(postcss@8.4.32): 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.5.3 + postcss: 8.4.32 - postcss-custom-properties@14.0.4(postcss@8.5.3): + postcss-custom-properties@14.0.4(postcss@8.4.32): 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.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-custom-selectors@8.0.4(postcss@8.5.3): + postcss-custom-selectors@8.0.4(postcss@8.4.32): 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.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - postcss-dir-pseudo-class@9.0.1(postcss@8.5.3): + postcss-dir-pseudo-class@9.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - postcss-discard-comments@5.1.2(postcss@8.5.3): + postcss-discard-comments@5.1.2(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - postcss-discard-comments@6.0.1(postcss@8.5.3): + postcss-discard-comments@6.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + + postcss-discard-comments@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-discard-comments@6.0.2(postcss@8.5.3): dependencies: postcss: 8.5.3 - postcss-discard-duplicates@5.1.0(postcss@8.5.3): + postcss-discard-duplicates@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + + postcss-discard-duplicates@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + + postcss-discard-duplicates@6.0.3(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-discard-duplicates@6.0.3(postcss@8.5.3): dependencies: postcss: 8.5.3 - postcss-discard-empty@5.1.1(postcss@8.5.3): + postcss-discard-empty@5.1.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + + postcss-discard-empty@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + + postcss-discard-empty@6.0.3(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-discard-empty@6.0.3(postcss@8.5.3): dependencies: postcss: 8.5.3 - postcss-discard-overridden@5.1.0(postcss@8.5.3): + postcss-discard-overridden@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + + postcss-discard-overridden@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + + postcss-discard-overridden@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-discard-overridden@6.0.2(postcss@8.5.3): dependencies: postcss: 8.5.3 + postcss-discard-unused@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + postcss-discard-unused@6.0.5(postcss@8.5.3): dependencies: postcss: 8.5.3 postcss-selector-parser: 6.1.2 - postcss-double-position-gradients@6.0.0(postcss@8.5.3): + postcss-double-position-gradients@6.0.0(postcss@8.4.32): dependencies: - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-focus-visible@10.0.1(postcss@8.5.3): + postcss-focus-visible@10.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - postcss-focus-within@9.0.1(postcss@8.5.3): + postcss-focus-within@9.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - postcss-font-variant@5.0.0(postcss@8.5.3): + postcss-font-variant@5.0.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - postcss-gap-properties@6.0.0(postcss@8.5.3): + postcss-gap-properties@6.0.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - postcss-image-set-function@7.0.0(postcss@8.5.3): + postcss-image-set-function@7.0.0(postcss@8.4.32): dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-lab-function@7.0.8(postcss@8.5.3): + postcss-lab-function@7.0.8(postcss@8.4.32): dependencies: '@csstools/css-color-parser': 3.0.8(@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.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/utilities': 2.0.0(postcss@8.4.32) + postcss: 8.4.32 - postcss-loader@7.3.4(postcss@8.5.3)(typescript@5.8.2)(webpack@5.98.0): + postcss-loader@7.3.4(postcss@8.4.32)(typescript@5.3.3)(webpack@5.95.0): dependencies: - cosmiconfig: 8.3.6(typescript@5.8.2) - jiti: 1.21.7 - postcss: 8.5.3 - semver: 7.7.1 - webpack: 5.98.0 + cosmiconfig: 8.3.6(typescript@5.3.3) + jiti: 1.21.0 + postcss: 8.4.32 + semver: 7.5.4 + webpack: 5.95.0 transitivePeerDependencies: - typescript - postcss-logical@8.1.0(postcss@8.5.3): + postcss-logical@8.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-merge-idents@6.0.1(postcss@8.4.32): + dependencies: + cssnano-utils: 4.0.1(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-merge-idents@6.0.3(postcss@8.5.3): @@ -14266,17 +14412,29 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-merge-longhand@5.1.7(postcss@8.5.3): + postcss-merge-longhand@5.1.7(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.5.3) + stylehacks: 5.1.1(postcss@8.4.32) - postcss-merge-longhand@6.0.1(postcss@8.5.3): + postcss-merge-longhand@6.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.5.3) + stylehacks: 6.0.2(postcss@8.4.32) + + postcss-merge-longhand@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + stylehacks: 6.0.2(postcss@8.4.32) + + postcss-merge-longhand@6.0.5(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.1(postcss@8.4.32) postcss-merge-longhand@6.0.5(postcss@8.5.3): dependencies: @@ -14284,20 +14442,36 @@ snapshots: postcss-value-parser: 4.2.0 stylehacks: 6.1.1(postcss@8.5.3) - postcss-merge-rules@5.1.4(postcss@8.5.3): + postcss-merge-rules@5.1.4(postcss@8.4.32): dependencies: - browserslist: 4.24.4 + browserslist: 4.22.2 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.5.3) - postcss: 8.5.3 - postcss-selector-parser: 6.1.2 + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 - postcss-merge-rules@6.0.2(postcss@8.5.3): + postcss-merge-rules@6.0.2(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.1(postcss@8.4.32) + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + + postcss-merge-rules@6.0.3(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.1(postcss@8.4.32) + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + + postcss-merge-rules@6.1.1(postcss@8.4.32): dependencies: browserslist: 4.24.4 caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.5.3) - postcss: 8.5.3 + cssnano-utils: 4.0.2(postcss@8.4.32) + postcss: 8.4.32 postcss-selector-parser: 6.1.2 postcss-merge-rules@6.1.1(postcss@8.5.3): @@ -14308,9 +14482,19 @@ snapshots: postcss: 8.5.3 postcss-selector-parser: 6.1.2 - postcss-minify-font-values@5.1.0(postcss@8.5.3): + postcss-minify-font-values@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-minify-font-values@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-minify-font-values@6.1.0(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-minify-font-values@6.1.0(postcss@8.5.3): @@ -14318,11 +14502,25 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-minify-gradients@5.1.1(postcss@8.5.3): + postcss-minify-gradients@5.1.1(postcss@8.4.32): dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.5.3) - postcss: 8.5.3 + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.1(postcss@8.4.32): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.1(postcss@8.4.32) + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.3(postcss@8.4.32): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-minify-gradients@6.0.3(postcss@8.5.3): @@ -14332,11 +14530,25 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-minify-params@5.1.4(postcss@8.5.3): + postcss-minify-params@5.1.4(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.0.2(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + cssnano-utils: 4.0.1(postcss@8.4.32) + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.1.0(postcss@8.4.32): dependencies: browserslist: 4.24.4 - cssnano-utils: 3.1.0(postcss@8.5.3) - postcss: 8.5.3 + cssnano-utils: 4.0.2(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-minify-params@6.1.0(postcss@8.5.3): @@ -14346,14 +14558,24 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-minify-selectors@5.2.1(postcss@8.5.3): + postcss-minify-selectors@5.2.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 - postcss-selector-parser: 6.1.2 + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 - postcss-minify-selectors@6.0.1(postcss@8.5.3): + postcss-minify-selectors@6.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + + postcss-minify-selectors@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + + postcss-minify-selectors@6.0.4(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-selector-parser: 6.1.2 postcss-minify-selectors@6.0.4(postcss@8.5.3): @@ -14361,45 +14583,63 @@ snapshots: postcss: 8.5.3 postcss-selector-parser: 6.1.2 - postcss-modules-extract-imports@3.1.0(postcss@8.5.3): + postcss-modules-extract-imports@3.0.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - postcss-modules-local-by-default@4.2.0(postcss@8.5.3): + postcss-modules-local-by-default@4.0.3(postcss@8.4.32): dependencies: - icss-utils: 5.1.0(postcss@8.5.3) - postcss: 8.5.3 - postcss-selector-parser: 7.1.0 + icss-utils: 5.1.0(postcss@8.4.32) + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.3): + postcss-modules-scope@3.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 - postcss-selector-parser: 7.1.0 + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 - postcss-modules-values@4.0.0(postcss@8.5.3): + postcss-modules-values@4.0.0(postcss@8.4.32): dependencies: - icss-utils: 5.1.0(postcss@8.5.3) - postcss: 8.5.3 + icss-utils: 5.1.0(postcss@8.4.32) + postcss: 8.4.32 - postcss-nesting@13.0.1(postcss@8.5.3): + postcss-nesting@13.0.1(postcss@8.4.32): dependencies: '@csstools/selector-resolve-nested': 3.0.0(postcss-selector-parser@7.1.0) '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 - postcss-normalize-charset@5.1.0(postcss@8.5.3): + postcss-normalize-charset@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + + postcss-normalize-charset@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + + postcss-normalize-charset@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-normalize-charset@6.0.2(postcss@8.5.3): dependencies: postcss: 8.5.3 - postcss-normalize-display-values@5.1.0(postcss@8.5.3): + postcss-normalize-display-values@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-display-values@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-display-values@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-normalize-display-values@6.0.2(postcss@8.5.3): @@ -14407,14 +14647,19 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-normalize-positions@5.1.1(postcss@8.5.3): + postcss-normalize-positions@5.1.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-normalize-positions@6.0.1(postcss@8.5.3): + postcss-normalize-positions@6.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-normalize-positions@6.0.2(postcss@8.5.3): @@ -14422,14 +14667,19 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@5.1.1(postcss@8.5.3): + postcss-normalize-repeat-style@5.1.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@6.0.1(postcss@8.5.3): + postcss-normalize-repeat-style@6.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-normalize-repeat-style@6.0.2(postcss@8.5.3): @@ -14437,9 +14687,19 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-normalize-string@5.1.0(postcss@8.5.3): + postcss-normalize-string@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-normalize-string@6.0.2(postcss@8.5.3): @@ -14447,9 +14707,19 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@5.1.0(postcss@8.5.3): + postcss-normalize-timing-functions@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-normalize-timing-functions@6.0.2(postcss@8.5.3): @@ -14457,10 +14727,22 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@5.1.1(postcss@8.5.3): + postcss-normalize-unicode@5.1.1(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.0.2(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.1.0(postcss@8.4.32): dependencies: browserslist: 4.24.4 - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-normalize-unicode@6.1.0(postcss@8.5.3): @@ -14469,10 +14751,20 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-normalize-url@5.1.0(postcss@8.5.3): + postcss-normalize-url@5.1.0(postcss@8.4.32): dependencies: normalize-url: 6.1.0 - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-normalize-url@6.0.2(postcss@8.5.3): @@ -14480,9 +14772,19 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@5.1.1(postcss@8.5.3): + postcss-normalize-whitespace@5.1.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-normalize-whitespace@6.0.2(postcss@8.5.3): @@ -14490,20 +14792,26 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-opacity-percentage@3.0.0(postcss@8.5.3): + postcss-opacity-percentage@3.0.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - postcss-ordered-values@5.1.3(postcss@8.5.3): + postcss-ordered-values@5.1.3(postcss@8.4.32): dependencies: - cssnano-utils: 3.1.0(postcss@8.5.3) - postcss: 8.5.3 + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-ordered-values@6.0.1(postcss@8.5.3): + postcss-ordered-values@6.0.1(postcss@8.4.32): dependencies: - cssnano-utils: 4.0.2(postcss@8.5.3) - postcss: 8.5.3 + cssnano-utils: 4.0.1(postcss@8.4.32) + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-ordered-values@6.0.2(postcss@8.4.32): + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-ordered-values@6.0.2(postcss@8.5.3): @@ -14512,102 +14820,119 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-overflow-shorthand@6.0.0(postcss@8.5.3): + postcss-overflow-shorthand@6.0.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-page-break@3.0.4(postcss@8.5.3): + postcss-page-break@3.0.4(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - postcss-place@10.0.0(postcss@8.5.3): + postcss-place@10.0.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - postcss-preset-env@10.1.5(postcss@8.5.3): + postcss-preset-env@10.1.5(postcss@8.4.32): dependencies: - '@csstools/postcss-cascade-layers': 5.0.1(postcss@8.5.3) - '@csstools/postcss-color-function': 4.0.8(postcss@8.5.3) - '@csstools/postcss-color-mix-function': 3.0.8(postcss@8.5.3) - '@csstools/postcss-content-alt-text': 2.0.4(postcss@8.5.3) - '@csstools/postcss-exponential-functions': 2.0.7(postcss@8.5.3) - '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.3) - '@csstools/postcss-gamut-mapping': 2.0.8(postcss@8.5.3) - '@csstools/postcss-gradients-interpolation-method': 5.0.8(postcss@8.5.3) - '@csstools/postcss-hwb-function': 4.0.8(postcss@8.5.3) - '@csstools/postcss-ic-unit': 4.0.0(postcss@8.5.3) - '@csstools/postcss-initial': 2.0.1(postcss@8.5.3) - '@csstools/postcss-is-pseudo-class': 5.0.1(postcss@8.5.3) - '@csstools/postcss-light-dark-function': 2.0.7(postcss@8.5.3) - '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.3) - '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.3) - '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.3) - '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.3) - '@csstools/postcss-logical-viewport-units': 3.0.3(postcss@8.5.3) - '@csstools/postcss-media-minmax': 2.0.7(postcss@8.5.3) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.4(postcss@8.5.3) - '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.3) - '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.5.3) - '@csstools/postcss-oklab-function': 4.0.8(postcss@8.5.3) - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/postcss-random-function': 1.0.3(postcss@8.5.3) - '@csstools/postcss-relative-color-syntax': 3.0.8(postcss@8.5.3) - '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.3) - '@csstools/postcss-sign-functions': 1.1.2(postcss@8.5.3) - '@csstools/postcss-stepped-value-functions': 4.0.7(postcss@8.5.3) - '@csstools/postcss-text-decoration-shorthand': 4.0.2(postcss@8.5.3) - '@csstools/postcss-trigonometric-functions': 4.0.7(postcss@8.5.3) - '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.3) - autoprefixer: 10.4.20(postcss@8.5.3) + '@csstools/postcss-cascade-layers': 5.0.1(postcss@8.4.32) + '@csstools/postcss-color-function': 4.0.8(postcss@8.4.32) + '@csstools/postcss-color-mix-function': 3.0.8(postcss@8.4.32) + '@csstools/postcss-content-alt-text': 2.0.4(postcss@8.4.32) + '@csstools/postcss-exponential-functions': 2.0.7(postcss@8.4.32) + '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.4.32) + '@csstools/postcss-gamut-mapping': 2.0.8(postcss@8.4.32) + '@csstools/postcss-gradients-interpolation-method': 5.0.8(postcss@8.4.32) + '@csstools/postcss-hwb-function': 4.0.8(postcss@8.4.32) + '@csstools/postcss-ic-unit': 4.0.0(postcss@8.4.32) + '@csstools/postcss-initial': 2.0.1(postcss@8.4.32) + '@csstools/postcss-is-pseudo-class': 5.0.1(postcss@8.4.32) + '@csstools/postcss-light-dark-function': 2.0.7(postcss@8.4.32) + '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.4.32) + '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.4.32) + '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.4.32) + '@csstools/postcss-logical-resize': 3.0.0(postcss@8.4.32) + '@csstools/postcss-logical-viewport-units': 3.0.3(postcss@8.4.32) + '@csstools/postcss-media-minmax': 2.0.7(postcss@8.4.32) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.4(postcss@8.4.32) + '@csstools/postcss-nested-calc': 4.0.0(postcss@8.4.32) + '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.4.32) + '@csstools/postcss-oklab-function': 4.0.8(postcss@8.4.32) + '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.4.32) + '@csstools/postcss-random-function': 1.0.3(postcss@8.4.32) + '@csstools/postcss-relative-color-syntax': 3.0.8(postcss@8.4.32) + '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.4.32) + '@csstools/postcss-sign-functions': 1.1.2(postcss@8.4.32) + '@csstools/postcss-stepped-value-functions': 4.0.7(postcss@8.4.32) + '@csstools/postcss-text-decoration-shorthand': 4.0.2(postcss@8.4.32) + '@csstools/postcss-trigonometric-functions': 4.0.7(postcss@8.4.32) + '@csstools/postcss-unset-value': 4.0.0(postcss@8.4.32) + autoprefixer: 10.4.21(postcss@8.4.32) browserslist: 4.24.4 - css-blank-pseudo: 7.0.1(postcss@8.5.3) - css-has-pseudo: 7.0.2(postcss@8.5.3) - css-prefers-color-scheme: 10.0.0(postcss@8.5.3) - cssdb: 8.2.3 - postcss: 8.5.3 - postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.3) - postcss-clamp: 4.1.0(postcss@8.5.3) - postcss-color-functional-notation: 7.0.8(postcss@8.5.3) - postcss-color-hex-alpha: 10.0.0(postcss@8.5.3) - postcss-color-rebeccapurple: 10.0.0(postcss@8.5.3) - postcss-custom-media: 11.0.5(postcss@8.5.3) - postcss-custom-properties: 14.0.4(postcss@8.5.3) - postcss-custom-selectors: 8.0.4(postcss@8.5.3) - postcss-dir-pseudo-class: 9.0.1(postcss@8.5.3) - postcss-double-position-gradients: 6.0.0(postcss@8.5.3) - postcss-focus-visible: 10.0.1(postcss@8.5.3) - postcss-focus-within: 9.0.1(postcss@8.5.3) - postcss-font-variant: 5.0.0(postcss@8.5.3) - postcss-gap-properties: 6.0.0(postcss@8.5.3) - postcss-image-set-function: 7.0.0(postcss@8.5.3) - postcss-lab-function: 7.0.8(postcss@8.5.3) - postcss-logical: 8.1.0(postcss@8.5.3) - postcss-nesting: 13.0.1(postcss@8.5.3) - postcss-opacity-percentage: 3.0.0(postcss@8.5.3) - postcss-overflow-shorthand: 6.0.0(postcss@8.5.3) - postcss-page-break: 3.0.4(postcss@8.5.3) - postcss-place: 10.0.0(postcss@8.5.3) - postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.3) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.3) - postcss-selector-not: 8.0.1(postcss@8.5.3) + css-blank-pseudo: 7.0.1(postcss@8.4.32) + css-has-pseudo: 7.0.2(postcss@8.4.32) + css-prefers-color-scheme: 10.0.0(postcss@8.4.32) + cssdb: 8.2.4 + postcss: 8.4.32 + postcss-attribute-case-insensitive: 7.0.1(postcss@8.4.32) + postcss-clamp: 4.1.0(postcss@8.4.32) + postcss-color-functional-notation: 7.0.8(postcss@8.4.32) + postcss-color-hex-alpha: 10.0.0(postcss@8.4.32) + postcss-color-rebeccapurple: 10.0.0(postcss@8.4.32) + postcss-custom-media: 11.0.5(postcss@8.4.32) + postcss-custom-properties: 14.0.4(postcss@8.4.32) + postcss-custom-selectors: 8.0.4(postcss@8.4.32) + postcss-dir-pseudo-class: 9.0.1(postcss@8.4.32) + postcss-double-position-gradients: 6.0.0(postcss@8.4.32) + postcss-focus-visible: 10.0.1(postcss@8.4.32) + postcss-focus-within: 9.0.1(postcss@8.4.32) + postcss-font-variant: 5.0.0(postcss@8.4.32) + postcss-gap-properties: 6.0.0(postcss@8.4.32) + postcss-image-set-function: 7.0.0(postcss@8.4.32) + postcss-lab-function: 7.0.8(postcss@8.4.32) + postcss-logical: 8.1.0(postcss@8.4.32) + postcss-nesting: 13.0.1(postcss@8.4.32) + postcss-opacity-percentage: 3.0.0(postcss@8.4.32) + postcss-overflow-shorthand: 6.0.0(postcss@8.4.32) + postcss-page-break: 3.0.4(postcss@8.4.32) + postcss-place: 10.0.0(postcss@8.4.32) + postcss-pseudo-class-any-link: 10.0.1(postcss@8.4.32) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.32) + postcss-selector-not: 8.0.1(postcss@8.4.32) - postcss-pseudo-class-any-link@10.0.1(postcss@8.5.3): + postcss-pseudo-class-any-link@10.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 + postcss-reduce-idents@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + postcss-reduce-idents@6.0.3(postcss@8.5.3): dependencies: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-reduce-initial@5.1.2(postcss@8.5.3): + postcss-reduce-initial@5.1.2(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + postcss: 8.4.32 + + postcss-reduce-initial@6.0.2(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + postcss: 8.4.32 + + postcss-reduce-initial@6.1.0(postcss@8.4.32): dependencies: browserslist: 4.24.4 caniuse-api: 3.0.0 - postcss: 8.5.3 + postcss: 8.4.32 postcss-reduce-initial@6.1.0(postcss@8.5.3): dependencies: @@ -14615,9 +14940,19 @@ snapshots: caniuse-api: 3.0.0 postcss: 8.5.3 - postcss-reduce-transforms@5.1.0(postcss@8.5.3): + postcss-reduce-transforms@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-reduce-transforms@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + postcss-reduce-transforms@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-value-parser: 4.2.0 postcss-reduce-transforms@6.0.2(postcss@8.5.3): @@ -14625,15 +14960,20 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-replace-overflow-wrap@4.0.0(postcss@8.5.3): + postcss-replace-overflow-wrap@4.0.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 - postcss-selector-not@8.0.1(postcss@8.5.3): + postcss-selector-not@8.0.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 7.1.0 + postcss-selector-parser@6.0.15: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 @@ -14649,21 +14989,43 @@ snapshots: postcss: 8.5.3 sort-css-media-queries: 2.2.0 - postcss-svgo@5.1.0(postcss@8.5.3): + postcss-svgo@5.1.0(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 postcss-value-parser: 4.2.0 svgo: 2.8.0 + postcss-svgo@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + svgo: 3.2.0 + + postcss-svgo@6.0.3(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + svgo: 3.2.0 + postcss-svgo@6.0.3(postcss@8.5.3): dependencies: postcss: 8.5.3 postcss-value-parser: 4.2.0 - svgo: 3.3.2 + svgo: 3.2.0 - postcss-unique-selectors@5.1.1(postcss@8.5.3): + postcss-unique-selectors@5.1.1(postcss@8.4.32): dependencies: - postcss: 8.5.3 + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + + postcss-unique-selectors@6.0.2(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + + postcss-unique-selectors@6.0.4(postcss@8.4.32): + dependencies: + postcss: 8.4.32 postcss-selector-parser: 6.1.2 postcss-unique-selectors@6.0.4(postcss@8.5.3): @@ -14673,17 +15035,27 @@ snapshots: postcss-value-parser@4.2.0: {} + postcss-zindex@6.0.1(postcss@8.4.32): + dependencies: + postcss: 8.4.32 + postcss-zindex@6.0.2(postcss@8.5.3): dependencies: postcss: 8.5.3 + postcss@8.4.32: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + postcss@8.5.3: dependencies: - nanoid: 3.3.8 + nanoid: 3.3.10 picocolors: 1.1.1 source-map-js: 1.2.1 - preact@10.26.4: {} + preact@10.19.3: {} pretty-error@4.0.0: dependencies: @@ -14694,8 +15066,8 @@ snapshots: prism-react-renderer@2.3.1(react@18.2.0): dependencies: - '@types/prismjs': 1.26.5 - clsx: 2.1.1 + '@types/prismjs': 1.26.3 + clsx: 2.1.0 react: 18.2.0 prismjs@1.29.0: {} @@ -14713,9 +15085,7 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 - property-information@6.5.0: {} - - property-information@7.0.0: {} + property-information@6.4.0: {} proto-list@1.2.4: {} @@ -14732,9 +15102,7 @@ snapshots: qs@6.13.0: dependencies: - side-channel: 1.1.0 - - quansync@0.2.6: {} + side-channel: 1.0.6 queue-microtask@1.2.3: {} @@ -14766,35 +15134,35 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(typescript@5.8.2)(webpack@5.98.0): + react-dev-utils@12.0.1(typescript@5.3.3)(webpack@5.95.0): dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.23.5 address: 1.2.2 - browserslist: 4.24.4 + browserslist: 4.22.2 chalk: 4.1.2 - cross-spawn: 7.0.6 + cross-spawn: 7.0.3 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.8.2)(webpack@5.98.0) + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.3.3)(webpack@5.95.0) 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 + loader-utils: 3.2.1 open: 8.4.2 pkg-up: 3.1.0 prompts: 2.4.2 - react-error-overlay: 6.1.0 + react-error-overlay: 6.0.11 recursive-readdir: 2.2.3 - shell-quote: 1.8.2 + shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - webpack: 5.98.0 + webpack: 5.95.0 optionalDependencies: - typescript: 5.8.2 + typescript: 5.3.3 transitivePeerDependencies: - eslint - supports-color @@ -14804,17 +15172,17 @@ snapshots: dependencies: loose-envify: 1.4.0 react: 18.2.0 - scheduler: 0.23.2 + scheduler: 0.23.0 - react-error-overlay@6.1.0: {} + react-error-overlay@6.0.11: {} react-fast-compare@3.2.2: {} react-is@16.13.1: {} - react-is@18.3.1: {} + react-is@18.2.0: {} - react-json-view-lite@1.5.0(react@18.2.0): + react-json-view-lite@1.2.1(react@18.2.0): dependencies: react: 18.2.0 @@ -14823,24 +15191,24 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.98.0): + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.95.0): dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.23.7 react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.2.0)' - webpack: 5.98.0 + webpack: 5.95.0 - react-markdown@8.0.7(@types/react@19.0.10)(react@18.2.0): + react-markdown@8.0.7(@types/react@18.2.46)(react@18.2.0): dependencies: - '@types/hast': 2.3.10 - '@types/prop-types': 15.7.14 - '@types/react': 19.0.10 - '@types/unist': 2.0.11 + '@types/hast': 2.3.9 + '@types/prop-types': 15.7.11 + '@types/react': 18.2.46 + '@types/unist': 2.0.10 comma-separated-tokens: 2.0.3 hast-util-whitespace: 2.0.1 prop-types: 15.8.1 - property-information: 6.5.0 + property-information: 6.4.0 react: 18.2.0 - react-is: 18.3.1 + react-is: 18.2.0 remark-parse: 10.0.2 remark-rehype: 10.1.0 space-separated-tokens: 2.0.2 @@ -14853,46 +15221,46 @@ snapshots: react-router-config@5.1.1(react-router@5.3.4(react@18.2.0))(react@18.2.0): dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.23.7 react: 18.2.0 react-router: 5.3.4(react@18.2.0) react-router-dom@5.3.4(react@18.2.0): dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.23.7 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 react: 18.2.0 react-router: 5.3.4(react@18.2.0) - tiny-invariant: 1.3.3 + tiny-invariant: 1.3.1 tiny-warning: 1.0.3 react-router@5.3.3(react@18.2.0): dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.23.7 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 mini-create-react-context: 0.4.1(prop-types@15.8.1)(react@18.2.0) - path-to-regexp: 1.9.0 + path-to-regexp: 1.8.0 prop-types: 15.8.1 react: 18.2.0 react-is: 16.13.1 - tiny-invariant: 1.3.3 + tiny-invariant: 1.3.1 tiny-warning: 1.0.3 react-router@5.3.4(react@18.2.0): dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.23.7 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 - path-to-regexp: 1.9.0 + path-to-regexp: 1.8.0 prop-types: 15.8.1 react: 18.2.0 react-is: 16.13.1 - tiny-invariant: 1.3.3 + tiny-invariant: 1.3.1 tiny-warning: 1.0.3 react@18.2.0: @@ -14923,42 +15291,16 @@ snapshots: rechoir@0.6.2: dependencies: - resolve: 1.22.10 - - 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 + resolve: 1.22.8 recursive-readdir@2.2.3: dependencies: minimatch: 3.1.2 + regenerate-unicode-properties@10.1.1: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties@10.2.0: dependencies: regenerate: 1.4.2 @@ -14969,7 +15311,16 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.23.7 + + regexpu-core@5.3.2: + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 regexpu-core@6.2.0: dependencies: @@ -14978,11 +15329,11 @@ snapshots: regjsgen: 0.8.0 regjsparser: 0.12.0 unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 + unicode-match-property-value-ecmascript: 2.1.0 - registry-auth-token@5.1.0: + registry-auth-token@5.0.2: dependencies: - '@pnpm/npm-conf': 2.3.1 + '@pnpm/npm-conf': 2.2.2 registry-url@6.0.1: dependencies: @@ -14994,60 +15345,56 @@ snapshots: dependencies: jsesc: 3.0.2 + regjsparser@0.9.1: + dependencies: + jsesc: 0.5.0 + 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.2 - transitivePeerDependencies: - - supports-color + '@types/hast': 3.0.3 + hast-util-raw: 9.0.1 + vfile: 6.0.1 relateurl@0.2.7: {} - remark-directive@3.0.1: + remark-directive@3.0.0: dependencies: - '@types/mdast': 4.0.4 - mdast-util-directive: 3.1.0 - micromark-extension-directive: 3.0.2 - unified: 11.0.5 + '@types/mdast': 4.0.3 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.0 + unified: 11.0.4 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.2 - node-emoji: 2.2.0 - unified: 11.0.5 + '@types/mdast': 4.0.3 + emoticon: 4.0.1 + mdast-util-find-and-replace: 3.0.1 + node-emoji: 2.1.3 + unified: 11.0.4 remark-frontmatter@5.0.0: dependencies: - '@types/mdast': 4.0.4 + '@types/mdast': 4.0.3 mdast-util-frontmatter: 2.0.1 micromark-extension-frontmatter: 2.0.0 - unified: 11.0.5 + unified: 11.0.4 transitivePeerDependencies: - supports-color - remark-gfm@4.0.1: + remark-gfm@4.0.0: dependencies: - '@types/mdast': 4.0.4 - mdast-util-gfm: 3.1.0 + '@types/mdast': 4.0.3 + 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 + unified: 11.0.4 transitivePeerDependencies: - supports-color - remark-mdx@3.1.0: + remark-mdx@3.0.0: dependencies: mdast-util-mdx: 3.0.0 micromark-extension-mdxjs: 3.0.0 @@ -15064,33 +15411,33 @@ snapshots: remark-parse@11.0.0: dependencies: - '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 - micromark-util-types: 2.0.2 - unified: 11.0.5 + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + micromark-util-types: 2.0.0 + unified: 11.0.4 transitivePeerDependencies: - supports-color remark-rehype@10.1.0: dependencies: - '@types/hast': 2.3.10 + '@types/hast': 2.3.9 '@types/mdast': 3.0.15 mdast-util-to-hast: 12.3.0 unified: 10.1.2 - remark-rehype@11.1.1: + remark-rehype@11.0.0: 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 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + mdast-util-to-hast: 13.0.2 + unified: 11.0.4 + vfile: 6.0.1 remark-stringify@11.0.0: dependencies: - '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.2 - unified: 11.0.5 + '@types/mdast': 4.0.3 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 renderkid@3.0.0: dependencies: @@ -15114,9 +15461,9 @@ snapshots: resolve-pathname@3.0.0: {} - resolve@1.22.10: + resolve@1.22.8: dependencies: - is-core-module: 2.16.1 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -15126,7 +15473,7 @@ snapshots: retry@0.13.1: {} - reusify@1.1.0: {} + reusify@1.0.4: {} rimraf@3.0.2: dependencies: @@ -15134,18 +15481,11 @@ snapshots: robust-predicates@3.0.2: {} - roughjs@4.6.6: + rtlcss@4.1.1: dependencies: - hachure-fill: 0.5.2 - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - points-on-path: 0.2.1 - - rtlcss@4.3.0: - dependencies: - escalade: 3.2.0 - picocolors: 1.1.1 - postcss: 8.5.3 + escalade: 3.1.1 + picocolors: 1.0.0 + postcss: 8.4.32 strip-json-comments: 3.1.1 run-parallel@1.2.0: @@ -15171,11 +15511,11 @@ snapshots: htmlparser2: 8.0.2 is-plain-object: 5.0.0 parse-srcset: 1.0.2 - postcss: 8.5.3 + postcss: 8.4.32 - sax@1.4.1: {} + sax@1.3.0: {} - scheduler@0.23.2: + scheduler@0.23.0: dependencies: loose-envify: 1.4.0 @@ -15191,14 +15531,14 @@ snapshots: ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - schema-utils@4.3.0: + 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) + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + ajv-keywords: 5.1.0(ajv@8.12.0) - search-insights@2.17.3: {} + search-insights@2.13.0: {} section-matter@1.0.0: dependencies: @@ -15214,11 +15554,13 @@ snapshots: semver-diff@4.0.0: dependencies: - semver: 7.7.1 + semver: 7.5.4 semver@6.3.1: {} - semver@7.7.1: {} + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 send@0.19.0: dependencies: @@ -15238,7 +15580,7 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-javascript@6.0.2: + serialize-javascript@6.0.1: dependencies: randombytes: 2.1.0 @@ -15278,8 +15620,8 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.3.0 - gopd: 1.2.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 has-property-descriptors: 1.0.2 setprototypeof@1.1.0: {} @@ -15298,7 +15640,7 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.2: {} + shell-quote@1.8.1: {} shelljs@0.8.5: dependencies: @@ -15306,50 +15648,29 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 - side-channel-list@1.0.0: + side-channel@1.0.6: dependencies: + call-bind: 1.0.7 es-errors: 1.3.0 - object-inspect: 1.13.4 - - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - side-channel-map: 1.0.1 - - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 signal-exit@3.0.7: {} sirv@2.0.4: dependencies: - '@polka/url': 1.0.0-next.28 - mrmime: 2.0.1 + '@polka/url': 1.0.0-next.24 + mrmime: 2.0.0 totalist: 3.0.1 sisteransi@1.0.5: {} - sitemap@7.1.2: + sitemap@7.1.1: dependencies: '@types/node': 17.0.45 '@types/sax': 1.2.7 arg: 5.0.2 - sax: 1.4.1 + sax: 1.3.0 skin-tone@2.0.0: dependencies: @@ -15362,7 +15683,7 @@ snapshots: snake-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.6.2 sockjs@0.3.24: dependencies: @@ -15372,6 +15693,8 @@ snapshots: sort-css-media-queries@2.2.0: {} + source-map-js@1.0.2: {} + source-map-js@1.2.1: {} source-map-support@0.5.21: @@ -15387,7 +15710,7 @@ snapshots: spdy-transport@3.0.0: dependencies: - debug: 4.4.0 + debug: 4.3.4 detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -15398,7 +15721,7 @@ snapshots: spdy@4.0.2: dependencies: - debug: 4.4.0 + debug: 4.3.4 handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -15416,7 +15739,7 @@ snapshots: statuses@2.0.1: {} - std-env@3.8.0: {} + std-env@3.7.0: {} string-width@4.2.3: dependencies: @@ -15438,7 +15761,7 @@ snapshots: dependencies: safe-buffer: 5.2.1 - stringify-entities@4.0.4: + stringify-entities@4.0.3: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 @@ -15455,7 +15778,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.0.1 strip-bom-string@1.0.0: {} @@ -15469,14 +15792,26 @@ snapshots: dependencies: inline-style-parser: 0.1.1 - style-to-object@1.0.8: + style-to-object@1.0.5: dependencies: - inline-style-parser: 0.2.4 + inline-style-parser: 0.2.2 - stylehacks@5.1.1(postcss@8.5.3): + stylehacks@5.1.1(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + + stylehacks@6.0.2(postcss@8.4.32): + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-selector-parser: 6.0.15 + + stylehacks@6.1.1(postcss@8.4.32): dependencies: browserslist: 4.24.4 - postcss: 8.5.3 + postcss: 8.4.32 postcss-selector-parser: 6.1.2 stylehacks@6.1.1(postcss@8.5.3): @@ -15485,7 +15820,11 @@ snapshots: postcss: 8.5.3 postcss-selector-parser: 6.1.2 - stylis@4.3.6: {} + stylis@4.3.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 supports-color@7.2.0: dependencies: @@ -15506,10 +15845,10 @@ snapshots: css-select: 4.3.0 css-tree: 1.1.3 csso: 4.2.0 - picocolors: 1.1.1 + picocolors: 1.0.0 stable: 0.1.8 - svgo@3.3.2: + svgo@3.2.0: dependencies: '@trysound/sax': 0.2.0 commander: 7.2.0 @@ -15517,7 +15856,7 @@ snapshots: css-tree: 2.3.1 css-what: 6.1.0 csso: 5.0.5 - picocolors: 1.1.1 + picocolors: 1.0.0 tabbable@6.2.0: {} @@ -15525,19 +15864,19 @@ snapshots: tapable@2.2.1: {} - terser-webpack-plugin@5.3.12(webpack@5.98.0): + terser-webpack-plugin@5.3.10(webpack@5.95.0): dependencies: - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.20 jest-worker: 27.5.1 - schema-utils: 4.3.0 - serialize-javascript: 6.0.2 - terser: 5.39.0 - webpack: 5.98.0 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.26.0 + webpack: 5.95.0 - terser@5.39.0: + terser@5.26.0: dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 + '@jridgewell/source-map': 0.3.5 + acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 @@ -15545,11 +15884,11 @@ snapshots: thunky@1.1.0: {} - tiny-invariant@1.3.3: {} + tiny-invariant@1.3.1: {} tiny-warning@1.0.3: {} - tinyexec@0.3.2: {} + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: dependencies: @@ -15563,11 +15902,11 @@ snapshots: trim@0.0.3: {} - trough@2.2.0: {} + trough@2.1.0: {} ts-dedent@2.2.0: {} - tslib@2.8.1: {} + tslib@2.6.2: {} type-fest@0.21.3: {} @@ -15584,46 +15923,42 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript@5.8.2: {} + typescript@5.3.3: {} - ufo@1.5.4: {} + undici-types@5.26.5: {} - undici-types@6.20.0: {} - - undici@6.21.1: {} - - unicode-canonical-property-names-ecmascript@2.0.1: {} + unicode-canonical-property-names-ecmascript@2.0.0: {} unicode-emoji-modifier-base@1.0.0: {} unicode-match-property-ecmascript@2.0.0: dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 - unicode-match-property-value-ecmascript@2.2.0: {} + unicode-match-property-value-ecmascript@2.1.0: {} unicode-property-aliases-ecmascript@2.1.0: {} unified@10.1.2: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 is-plain-obj: 4.1.0 - trough: 2.2.0 + trough: 2.1.0 vfile: 5.3.7 - unified@11.0.5: + unified@11.0.4: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 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 + trough: 2.1.0 + vfile: 6.0.1 unique-string@3.0.0: dependencies: @@ -15631,65 +15966,70 @@ snapshots: unist-builder@4.0.0: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 unist-util-generated@2.0.1: {} unist-util-is@5.2.1: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-is@6.0.0: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 unist-util-position-from-estree@2.0.0: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 unist-util-position@4.0.4: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-position@5.0.0: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 unist-util-select@5.1.0: dependencies: - '@types/unist': 3.0.3 - css-selector-parser: 3.0.5 + '@types/unist': 3.0.2 + css-selector-parser: 3.0.4 devlop: 1.1.0 nth-check: 2.0.1 zwitch: 2.0.4 unist-util-stringify-position@3.0.3: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-stringify-position@4.0.0: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 unist-util-visit-parents@5.1.3: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents@6.0.1: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-visit@4.1.2: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 unist-util-visit@5.0.0: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 @@ -15697,6 +16037,12 @@ snapshots: unpipe@1.0.0: {} + update-browserslist-db@1.0.13(browserslist@4.22.2): + dependencies: + browserslist: 4.22.2 + escalade: 3.1.1 + picocolors: 1.0.0 + update-browserslist-db@1.1.3(browserslist@4.24.4): dependencies: browserslist: 4.24.4 @@ -15706,7 +16052,7 @@ snapshots: update-notifier@6.0.2: dependencies: boxen: 7.1.1 - chalk: 5.4.1 + chalk: 5.3.0 configstore: 6.0.0 has-yarn: 3.0.0 import-lazy: 4.0.0 @@ -15716,7 +16062,7 @@ snapshots: is-yarn-global: 0.4.1 latest-version: 7.0.0 pupa: 3.1.0 - semver: 7.7.1 + semver: 7.5.4 semver-diff: 4.0.0 xdg-basedir: 5.1.0 @@ -15724,20 +16070,20 @@ snapshots: dependencies: punycode: 2.3.1 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.98.0))(webpack@5.98.0): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.98.0 + webpack: 5.95.0 optionalDependencies: - file-loader: 6.2.0(webpack@5.98.0) + file-loader: 6.2.0(webpack@5.95.0) util-deprecate@1.0.2: {} utila@0.4.0: {} - utility-types@3.11.0: {} + utility-types@3.10.0: {} utils-merge@1.0.1: {} @@ -15748,7 +16094,7 @@ snapshots: uvu@0.5.6: dependencies: dequal: 2.0.3 - diff: 5.2.0 + diff: 5.1.0 kleur: 4.1.5 sade: 1.8.1 @@ -15756,50 +16102,34 @@ snapshots: vary@1.1.2: {} - vfile-location@5.0.3: + vfile-location@5.0.2: dependencies: - '@types/unist': 3.0.3 - vfile: 6.0.3 + '@types/unist': 3.0.2 + vfile: 6.0.1 vfile-message@3.1.4: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-stringify-position: 3.0.3 vfile-message@4.0.2: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 vfile@5.3.7: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 - vfile@6.0.3: + vfile@6.0.1: dependencies: - '@types/unist': 3.0.3 + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vscode-jsonrpc@8.2.0: {} - - vscode-languageserver-protocol@3.17.5: - dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - - vscode-languageserver-textdocument@1.0.12: {} - - vscode-languageserver-types@3.17.5: {} - - vscode-languageserver@9.0.1: - dependencies: - vscode-languageserver-protocol: 3.17.5 - - vscode-uri@3.0.8: {} - watchpack@2.4.2: dependencies: glob-to-regexp: 0.4.1 @@ -15811,107 +16141,109 @@ snapshots: web-namespaces@2.0.1: {} - web-streams-polyfill@3.3.3: {} + web-streams-polyfill@3.2.1: {} + + web-worker@1.2.0: {} webpack-bundle-analyzer@4.10.2: dependencies: '@discoveryjs/json-ext': 0.5.7 - acorn: 8.14.0 - acorn-walk: 8.3.4 + acorn: 8.11.3 + acorn-walk: 8.3.1 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 + picocolors: 1.0.0 sirv: 2.0.4 ws: 7.5.10 transitivePeerDependencies: - bufferutil - utf-8-validate - webpack-dev-middleware@5.3.4(webpack@5.98.0): + webpack-dev-middleware@5.3.4(webpack@5.95.0): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.3.0 - webpack: 5.98.0 + schema-utils: 4.2.0 + webpack: 5.95.0 - webpack-dev-server@4.15.2(webpack@5.98.0): + webpack-dev-server@4.15.2(webpack@5.95.0): 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/serve-static': 1.15.5 '@types/sockjs': 0.3.36 - '@types/ws': 8.5.14 + '@types/ws': 8.5.10 ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 + bonjour-service: 1.2.0 + chokidar: 3.5.3 colorette: 2.0.20 - compression: 1.8.0 + compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.21.2 + express: 4.21.0 graceful-fs: 4.2.11 - html-entities: 2.5.2 + html-entities: 2.4.0 http-proxy-middleware: 2.0.7(@types/express@4.17.21) - ipaddr.js: 2.2.0 - launch-editor: 2.10.0 + ipaddr.js: 2.1.0 + launch-editor: 2.6.1 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 - schema-utils: 4.3.0 + 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.98.0) - ws: 8.18.1 + webpack-dev-middleware: 5.3.4(webpack@5.95.0) + ws: 8.16.0 optionalDependencies: - webpack: 5.98.0 + webpack: 5.95.0 transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-dev-server@4.9.2(webpack@5.98.0): + webpack-dev-server@4.9.2(webpack@5.95.0): 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/serve-static': 1.15.5 '@types/sockjs': 0.3.36 - '@types/ws': 8.5.14 + '@types/ws': 8.5.10 ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 + bonjour-service: 1.2.0 + chokidar: 3.5.3 colorette: 2.0.20 - compression: 1.8.0 + compression: 1.7.4 connect-history-api-fallback: 1.6.0 default-gateway: 6.0.3 - express: 4.21.2 + express: 4.21.0 graceful-fs: 4.2.11 - html-entities: 2.5.2 + html-entities: 2.4.0 http-proxy-middleware: 2.0.7(@types/express@4.17.21) - ipaddr.js: 2.2.0 + ipaddr.js: 2.1.0 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 - schema-utils: 4.3.0 + schema-utils: 4.2.0 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.98.0 - webpack-dev-middleware: 5.3.4(webpack@5.98.0) - ws: 8.18.1 + webpack: 5.95.0 + webpack-dev-middleware: 5.3.4(webpack@5.95.0) + ws: 8.16.0 transitivePeerDependencies: - bufferutil - debug @@ -15932,18 +16264,18 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.98.0: + webpack@5.95.0: 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.4 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.18.1 - es-module-lexer: 1.6.0 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.11.3 + acorn-import-attributes: 1.9.5(acorn@8.11.3) + browserslist: 4.22.2 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -15952,9 +16284,9 @@ snapshots: loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 4.3.0 + schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.12(webpack@5.98.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -15962,7 +16294,7 @@ snapshots: - esbuild - uglify-js - webpackbar@6.0.1(webpack@5.98.0): + webpackbar@6.0.1(webpack@5.95.0): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -15970,24 +16302,18 @@ snapshots: figures: 3.2.0 markdown-table: 2.0.0 pretty-time: 1.1.0 - std-env: 3.8.0 - webpack: 5.98.0 + std-env: 3.7.0 + webpack: 5.95.0 wrap-ansi: 7.0.0 websocket-driver@0.7.4: dependencies: - http-parser-js: 0.5.9 + http-parser-js: 0.5.8 safe-buffer: 5.2.1 websocket-extensions: 0.1.4 websocket-extensions@0.1.4: {} - whatwg-encoding@3.1.1: - dependencies: - iconv-lite: 0.6.3 - - whatwg-mimetype@4.0.0: {} - which@1.3.1: dependencies: isexe: 2.0.0 @@ -16025,28 +16351,30 @@ snapshots: ws@7.5.10: {} - ws@8.18.1: {} + ws@8.16.0: {} xdg-basedir@5.1.0: {} xml-js@1.6.11: dependencies: - sax: 1.4.1 + sax: 1.3.0 yallist@3.1.1: {} + yallist@4.0.0: {} + yaml-loader@0.8.0: dependencies: javascript-stringify: 2.1.0 loader-utils: 2.0.4 - yaml: 2.7.0 + yaml: 2.3.4 yaml@1.10.2: {} - yaml@2.7.0: {} + yaml@2.3.4: {} yocto-queue@0.1.0: {} - yocto-queue@1.1.1: {} + yocto-queue@1.0.0: {} zwitch@2.0.4: {} diff --git a/docusaurus/sidebars.js b/docusaurus/sidebars.js index 4a18506e87d..743f2ac2d72 100644 --- a/docusaurus/sidebars.js +++ b/docusaurus/sidebars.js @@ -1,9 +1,6 @@ const fs = require("fs"); const path = require("path"); -const { - parseMarkdownContentTitle, - parseMarkdownFile, -} = require("@docusaurus/utils"); +const { parseMarkdownContentTitle, parseMarkdownFile } = require("@docusaurus/utils"); const connectorsDocsRoot = "../docs/integrations"; const sourcesDocs = `${connectorsDocsRoot}/sources`; @@ -20,7 +17,7 @@ function getFilenamesInDir(prefix, dir, excludes) { fileName.endsWith("-migrations.md") || fileName.endsWith(".js") || fileName === "low-code.md" - ) + ), ) .map((fileName) => fileName.replace(".md", "")) .filter((fileName) => excludes.indexOf(fileName.toLowerCase()) === -1) @@ -28,20 +25,20 @@ function getFilenamesInDir(prefix, dir, excludes) { // Get the first header of the markdown document try { const filePath = path.join(dir, `${filename}.md`); - const fileContent = fs.readFileSync(filePath, 'utf8'); - const firstLine = fileContent.split('\n').find(line => line.trim().startsWith('# ')); - const contentTitle = firstLine ? firstLine.replace(/^#\s*/, '').trim() : filename; + const fileContent = fs.readFileSync(filePath, "utf8"); + const firstLine = fileContent.split("\n").find((line) => line.trim().startsWith("# ")); + const contentTitle = firstLine ? firstLine.replace(/^#\s*/, "").trim() : filename; return { - type: 'doc', + type: "doc", id: prefix + filename, - label: contentTitle || filename + label: contentTitle || filename, }; } catch (error) { console.warn(`Warning: Using filename as title for ${path.join(prefix, filename)}`); return { - type: 'doc', + type: "doc", id: prefix + filename, - label: filename + label: filename, }; } @@ -89,10 +86,9 @@ function getDestinationConnectors() { } function getEnterpriseConnectors() { - return getFilenamesInDir( - "integrations/enterprise-connectors/", - enterpriseConnectorDocs, ["readme"] - ); + return getFilenamesInDir("integrations/enterprise-connectors/", enterpriseConnectorDocs, [ + "readme", + ]); } const sourcePostgres = { @@ -252,19 +248,6 @@ const buildAConnector = { type: "doc", id: "connector-development/config-based/low-code-cdk-overview", }, - { - type: "category", - label: "Tutorial", - items: [ - "connector-development/config-based/tutorial/getting-started", - "connector-development/config-based/tutorial/create-source", - "connector-development/config-based/tutorial/install-dependencies", - "connector-development/config-based/tutorial/connecting-to-the-API-source", - "connector-development/config-based/tutorial/reading-data", - "connector-development/config-based/tutorial/incremental-reads", - "connector-development/config-based/tutorial/testing", - ], - }, { type: "category", label: "Understanding the YAML file", @@ -306,7 +289,7 @@ const buildAConnector = { "connector-development/config-based/advanced-topics/parameters", "connector-development/config-based/advanced-topics/references", "connector-development/config-based/advanced-topics/string-interpolation", - ] + ], }, ], }, @@ -325,14 +308,12 @@ const buildAConnector = { "connector-development/cdk-python/resumable-full-refresh-stream", "connector-development/cdk-python/incremental-stream", "connector-development/cdk-python/http-streams", - "connector-development/cdk-python/python-concepts", - "connector-development/cdk-python/migration-to-base-image", "connector-development/cdk-python/stream-slices", { type: "category", label: "Tutorials", items: [ - "connector-development/tutorials/cdk-speedrun", + "connector-development/tutorials/custom-python-connector/getting-started", { type: "category", label: "Python CDK: Creating a Python Source", @@ -359,9 +340,7 @@ const buildAConnector = { type: "doc", id: "connector-development/testing-connectors/README", }, - items: [ - "connector-development/testing-connectors/connector-acceptance-tests-reference", - ], + items: ["connector-development/testing-connectors/connector-acceptance-tests-reference"], }, "connector-development/connector-specification-reference", "connector-development/partner-certified-destinations", @@ -396,8 +375,8 @@ const connectorCatalog = { sourceMssql, ...getSourceConnectors(), ].sort((itemA, itemB) => { - const labelA = itemA?.label || ''; - const labelB = itemB?.label || ''; + const labelA = itemA?.label || ""; + const labelB = itemB?.label || ""; return labelA.localeCompare(labelB); }), }, @@ -408,15 +387,13 @@ const connectorCatalog = { type: "doc", id: "integrations/destinations/README", }, - items: [ - destinationS3, - destinationPostgres, - ...getDestinationConnectors(), - ].sort((itemA, itemB) => { - const labelA = itemA?.label || ''; - const labelB = itemB?.label || ''; - return labelA.localeCompare(labelB); - }), + items: [destinationS3, destinationPostgres, ...getDestinationConnectors()].sort( + (itemA, itemB) => { + const labelA = itemA?.label || ""; + const labelB = itemB?.label || ""; + return labelA.localeCompare(labelB); + }, + ), }, { type: "doc", @@ -651,8 +628,8 @@ module.exports = { id: "integrations/enterprise-connectors/README", }, items: [...getEnterpriseConnectors()].sort((itemA, itemB) => { - const labelA = itemA?.label || ''; - const labelB = itemB?.label || ''; + const labelA = itemA?.label || ""; + const labelB = itemB?.label || ""; return labelA.localeCompare(labelB); }), }, @@ -674,10 +651,7 @@ module.exports = { type: "doc", id: "operator-guides/configuring-airbyte", }, - items: [ - "operator-guides/configuring-connector-resources", - "operator-guides/telemetry", - ], + items: ["operator-guides/configuring-connector-resources", "operator-guides/telemetry"], }, { @@ -708,7 +682,7 @@ module.exports = { items: [ { type: "doc", - id: "access-management/role-mapping" + id: "access-management/role-mapping", }, ], }, @@ -791,7 +765,8 @@ module.exports = { label: "Release Notes", link: { type: "generated-index", - description: "We release new self-managed versions of Airbyte regularly. Airbyte Cloud customers always have the latest enhancements.", + description: + "We release new self-managed versions of Airbyte regularly. Airbyte Cloud customers always have the latest enhancements.", }, items: [ "release_notes/v-1.5", @@ -805,7 +780,8 @@ module.exports = { label: "Historical release notes", link: { type: "generated-index", - description: "Historical release notes from before Airbyte 1.0 are preserved here for posterity." + description: + "Historical release notes from before Airbyte 1.0 are preserved here for posterity.", }, items: [ "release_notes/aug_2024", @@ -834,7 +810,7 @@ module.exports = { "release_notes/september_2022", "release_notes/august_2022", "release_notes/july_2022", - ] + ], }, ], },