diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml
index 92f7cd956..4071860f5 100644
--- a/.github/workflows/testing.yml
+++ b/.github/workflows/testing.yml
@@ -31,7 +31,7 @@ jobs:
name: Tests
runs-on: ubuntu-20.04
needs: testrun_baseline
- timeout-minutes: 40
+ timeout-minutes: 45
steps:
- name: Checkout source
uses: actions/checkout@v2.3.4
@@ -44,13 +44,12 @@ jobs:
- name: Install Testrun
shell: bash {0}
run: sudo dpkg -i testrun*.deb
- timeout-minutes: 10
- name: Run tests
shell: bash {0}
run: testing/tests/test_tests
- name: Archive runtime results
if: ${{ always() }}
- run: sudo tar --exclude-vcs -czf runtime.tgz /usr/local/testrun/runtime/ /usr/local/testrun/local/
+ run: sudo tar --exclude-vcs -czf runtime.tgz /usr/local/testrun/runtime/
- name: Upload runtime results
uses: actions/upload-artifact@v3
if: ${{ always() }}
@@ -69,16 +68,26 @@ jobs:
- name: Install dependencies
shell: bash {0}
run: cmd/prepare
- - name: Package Testrun
+ - name: Package Testrun
shell: bash {0}
run: cmd/package
- name: Install Testrun
shell: bash {0}
run: sudo dpkg -i testrun*.deb
- timeout-minutes: 10
+ timeout-minutes: 30
- name: Run tests
shell: bash {0}
run: testing/api/test_api
+ - name: Archive runtime results
+ if: ${{ always() }}
+ run: sudo tar --exclude-vcs -czf runtime.tgz /usr/local/testrun/runtime/ /usr/local/testrun/local/
+ - name: Upload runtime results
+ uses: actions/upload-artifact@v3
+ if: ${{ always() }}
+ with:
+ if-no-files-found: error
+ name: runtime_${{ github.workflow }}_${{ github.run_id }}
+ path: runtime.tgz
pylint:
name: Pylint
@@ -105,4 +114,26 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: Testrun Installer
- path: testrun*.deb
\ No newline at end of file
+ path: testrun*.deb
+
+ testrun_ui:
+ name: UI
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Install Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 18.10.0
+ - name: Install Chromium Browser
+ run: sudo apt install chromium-browser
+ - name: Install dependencies
+ run: npm install && npm ci
+ working-directory: ./modules/ui
+ - name: Run tests
+ run: |
+ export CHROME_BIN=/usr/bin/chromium-browser
+ CI=true npm run test-headless
+ env:
+ CI: true
+ working-directory: ./modules/ui
diff --git a/README.md b/README.md
index 6b1836fa2..53915aaaa 100644
--- a/README.md
+++ b/README.md
@@ -5,37 +5,35 @@
[](https://github.com/google/testrun/actions/workflows/testing.yml)
## Introduction :wave:
-Testrun automates specific test cases to verify network and security functionality in IoT devices. It is an open source tool which allows external manufacturers to test their devices for the purposes of Device Qualification within the BOS program.
+Testrun automates specific test cases to verify network and security functionality in IoT devices. It is an open source tool which allows manufacturers of IP capable devices to test their devices for the purposes of Device Qualification within the BOS program.
## Motivation :bulb:
-Without tools like Testrun, testing labs may be maintaining a large and complex network using equipment such as: A managed layer 3 switch, an enterprise-grade network router, virtualized or physical servers to provide DNS, NTP, 802.1x etc. With this amount of moving parts, all with dynamic configuration files and constant software updates, more time is likely to be spent on preparation and clean up of functinality or penetration testing - not forgetting the number of software tools required to perform the testing. The major issues which can and should be solved:
+Without tools like Testrun, test labs and engineers may need to maintain a large and complex network coupled with dynamic configuration files and constant software updates. The major issues which can and should be solved are:
1) The complexity of managing a testing network
2) The time required to perform testing of network functionality
3) The accuracy and consistency of testing network functionality
## How it works :triangular_ruler:
-Testrun creates an isolated and controlled network environment to fully simulate enterprise network deployments in your device testing lab.
-This removes the necessity for complex hardware, advanced knowledge and networking experience whilst enabling semi-technical engineers to validate device
-behaviour against industry cyber standards.
+Testrun creates an isolated and controlled network environment on a linux machine. This removes the necessity for complex hardware, advanced knowledge and networking experience whilst enabling test engineers to validate device behaviour against Google’s Building Operating System requirements.
-Two runtime modes are supported by Testrun:
+Two modes are supported by Testrun:
1) Automated testing
-Once the device has become operational (steady state), automated testing of the device under test will begin. Containerized test modules will then execute against the device (one module at a time). Once all test modules have completed execution, a final test report will be produced - presenting the results and further description of findings.
+Once the device has become operational (steady state), automated testing of the DUT (device under test) will begin. Containerized test modules will then execute against the device, one module at a time. Once all test modules have been executed, a report will be produced - presenting the results.
2) Lab network
-Testrun cannot automate everything, and so additional manual testing may be required (or configuration changes may be required on the device). Rather than having to maintain a separate but idential lab network, Testrun will provide the network and some tools to assist an engineer performing the additional testing. At the same time, packet captures of the device behaviour will be recorded, alongside logs for each network service, for further debugging.
+When manual testing or configuration changes are required, Testrun will provide the network and some tools to assist an engineer performing the additional testing. This reduces the need to maintain a separate but identical lab network. Testrun will take care of packet captures and logs for each network service for further debugging.
## Minimum requirements :computer:
### Hardware
- - PC running Ubuntu LTS (laptop or desktop)
+ - PC running Ubuntu LTS 20.04 or 22.04 (laptop or desktop)
- 2x USB ethernet adapter (One may be built in ethernet)
- Internet connection
### Software
- Docker - installation guide: [https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository)
-### Device
+### Device under test (DUT)
- DHCP client - The device must be able to obtain an IP address via DHCP
## Get started ▶️
@@ -68,8 +66,7 @@ The contributing requirements can be found in [CONTRIBUTING.md](CONTRIBUTING.md)
3) Can I run Testrun on a virtual machine?
- Probably. Provided that the required 2x USB ethernet adapters are passed to the virtual machine as USB devices rather than network adapters, Testrun should
- still work. We will look to test and approve the use of virtualisation to run Testrun in the future.
+ Testrun can be virtualized if the 2x ethernet adapters are passed through to a Virtual Box VM as a USB device rather than managed network adapters. A full guide will be provided once virtualization of Testrun has been fully tested.
4) Can I connect multiple devices to Testrun?
diff --git a/cmd/build b/cmd/build
index 5143e8902..da67db00a 100755
--- a/cmd/build
+++ b/cmd/build
@@ -14,6 +14,25 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# Check if Docker is installed
+if [[ $(which docker) && $(docker --version) ]]; then
+ # Docker is installed
+ echo Using $(docker --version)
+ else
+ # Docker is not installed
+ echo Docker is not installed. Please follow the Get Started guide at https://github.com/google/testrun
+ exit 1
+fi
+
+# Stop any running containers
+echo Stopping any running containers
+running_containers=$(docker container ls -q --filter name=tr-*)
+if [ -n "$running_containers" ]; then
+ docker container kill $running_containers
+else
+ echo No containers were found running
+fi
+
# Builds all docker images
echo Building docker images
diff --git a/cmd/package b/cmd/package
index c4da2aeaf..87e66d977 100755
--- a/cmd/package
+++ b/cmd/package
@@ -44,7 +44,7 @@ mkdir -p $MAKE_SRC_DIR/usr/local/testrun/local/devices
# Copy root_certs folder
mkdir -p local/root_certs
-cp -r local/root_certs $MAKE_SRC_DIR/usr/local/testrun/local/root_certs
+cp -r local/root_certs $MAKE_SRC_DIR/usr/local/testrun/local/
# Copy framework and modules into testrun folder
cp -r {framework,modules} $MAKE_SRC_DIR/usr/local/testrun
@@ -53,4 +53,4 @@ cp -r {framework,modules} $MAKE_SRC_DIR/usr/local/testrun
dpkg-deb --build --root-owner-group make
# Rename the .deb file
-mv make.deb testrun_1-0-3_amd64.deb
\ No newline at end of file
+mv make.deb testrun_1-1_amd64.deb
diff --git a/cmd/prepare b/cmd/prepare
index 950051bd3..436af87ae 100755
--- a/cmd/prepare
+++ b/cmd/prepare
@@ -19,6 +19,6 @@
echo Installing system dependencies
-sudo apt-get install openvswitch-common openvswitch-switch python3 libpangocairo-1.0-0
+sudo apt-get update && sudo apt-get install openvswitch-common openvswitch-switch python3 libpangocairo-1.0-0
echo Finished installing system dependencies
diff --git a/docs/configure_device.md b/docs/configure_device.md
new file mode 100644
index 000000000..9eefcd866
--- /dev/null
+++ b/docs/configure_device.md
@@ -0,0 +1,29 @@
+# Device Configuration
+
+The device configuration file allows you to customize the testing behavior for a specific device. This file is located at `local/devices/{Device Name}/device_config.json`. Below is an overview of how to configure the device tests.
+
+## Device Information
+
+The device information section includes the manufacturer, model, and MAC address of the device. These details help identify the specific device being tested.
+
+## Test Modules
+
+Test modules are groups of tests that can be enabled or disabled as needed. You can choose which test modules to run on your device.
+
+### Enabling and Disabling Test Modules
+
+To enable or disable a test module, modify the `enabled` field within the respective module. Setting it to `true` enables the module, while setting it to `false` disables the module.
+
+## Customizing the Device Configuration
+
+To customize the device configuration for your specific device, follow these steps:
+
+1. Copy the default configuration file provided in the `resources/devices/template` folder.
+ - Create a new folder for your device under `local/devices` directory.
+ - Copy the `device_config.json` file from `resources/devices/template` to the newly created device folder.
+
+This ensures that you have a copy of the default configuration file, which you can then modify for your specific device.
+
+> Note: Ensure that the device configuration file is properly formatted, and the changes made align with the intended test behavior. Incorrect settings or syntax may lead to unexpected results during testing.
+
+If you encounter any issues or need assistance with the device configuration, refer to the Testrun documentation or ask a question on the Issues page.
diff --git a/docs/get_started.md b/docs/get_started.md
index 9e2315940..70215ac62 100644
--- a/docs/get_started.md
+++ b/docs/get_started.md
@@ -41,6 +41,8 @@ However, to achieve a compliant test outcome, your device must be configured cor
- Testing data will be available in the ``local/devices/{device}/reports`` folders
- Additional configuration options are available in the ``local/system.json`` file
+ **NOTE: Place your local CA certificate in local/root_certs (any name with a .crt extension) to perform TLS server tests**
+
## Start Testrun
1. Attach network interfaces:
@@ -105,4 +107,4 @@ If you encounter any issues or need assistance, consider the following:
- Refer to the Testrun documentation or ask for assistance in the issues page: https://github.com/google/testrun/issues
# Uninstall
-To uninstall Testrun, use the built-in dpkg uninstall command to remove Testrun correctly. For Testrun, this would be: ```sudo apt-get remove testrun```
\ No newline at end of file
+To uninstall Testrun, use the built-in dpkg uninstall command to remove Testrun correctly. For Testrun, this would be: ```sudo apt-get remove testrun```
diff --git a/framework/python/src/api/api.py b/framework/python/src/api/api.py
index 919684cce..305310e7e 100644
--- a/framework/python/src/api/api.py
+++ b/framework/python/src/api/api.py
@@ -1,272 +1,438 @@
-# Copyright 2023 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-from fastapi import FastAPI, APIRouter, Response, Request, status
-from fastapi.responses import FileResponse
-from fastapi.middleware.cors import CORSMiddleware
-import json
-from json import JSONDecodeError
-import os
-import psutil
-import threading
-import uvicorn
-
-from common import logger
-from common.device import Device
-
-LOGGER = logger.get_logger("api")
-
-DEVICE_MAC_ADDR_KEY = "mac_addr"
-DEVICE_MANUFACTURER_KEY = "manufacturer"
-DEVICE_MODEL_KEY = "model"
-DEVICE_TEST_MODULES_KEY = "test_modules"
-DEVICES_PATH = "/usr/local/testrun/local/devices"
-
-class Api:
- """Provide REST endpoints to manage Testrun"""
-
- def __init__(self, test_run):
-
- self._test_run = test_run
- self._name = "TestRun API"
- self._router = APIRouter()
-
- self._session = self._test_run.get_session()
-
- self._router.add_api_route("/system/interfaces", self.get_sys_interfaces)
- self._router.add_api_route("/system/config", self.post_sys_config,
- methods=["POST"])
- self._router.add_api_route("/system/config", self.get_sys_config)
- self._router.add_api_route("/system/start", self.start_test_run,
- methods=["POST"])
- self._router.add_api_route("/system/stop", self.stop_test_run,
- methods=["POST"])
- self._router.add_api_route("/system/status", self.get_status)
-
- self._router.add_api_route("/history", self.get_history)
- self._router.add_api_route("/report/{device_name}/{timestamp}",
- self.get_report)
-
- self._router.add_api_route("/devices", self.get_devices)
- self._router.add_api_route("/device", self.save_device, methods=["POST"])
-
- # TODO: Make this configurable in system.json
- origins = ["http://localhost:8080", "http://localhost:4200"]
-
- self._app = FastAPI()
- self._app.include_router(self._router)
- self._app.add_middleware(
- CORSMiddleware,
- allow_origins=origins,
- allow_credentials=True,
- allow_methods=["*"],
- allow_headers=["*"],
- )
-
- self._api_thread = threading.Thread(target=self._start,
- name="Testrun API",
- daemon=True)
-
- def start(self):
- LOGGER.info("Starting API")
- self._api_thread.start()
- LOGGER.info("API waiting for requests")
-
- def _start(self):
- uvicorn.run(self._app, log_config=None, port=self._session.get_api_port())
-
- def stop(self):
- LOGGER.info("Stopping API")
-
- async def get_sys_interfaces(self):
- addrs = psutil.net_if_addrs()
- ifaces = []
- for iface in addrs:
- ifaces.append(iface)
- return ifaces
-
- async def post_sys_config(self, request: Request, response: Response):
- try:
- config = (await request.body()).decode("UTF-8")
- config_json = json.loads(config)
- self._session.set_config(config_json)
- # Catch JSON Decode error etc
- except JSONDecodeError:
- response.status_code = status.HTTP_400_BAD_REQUEST
- return self._generate_msg(False, "Invalid JSON received")
- return self._session.get_config()
-
- async def get_sys_config(self):
- return self._session.get_config()
-
- async def get_devices(self):
- return self._session.get_device_repository()
-
- async def start_test_run(self, request: Request, response: Response):
-
- LOGGER.debug("Received start command")
-
- # Check request is valid
- body = (await request.body()).decode("UTF-8")
- body_json = None
-
- try:
- body_json = json.loads(body)
- except JSONDecodeError:
- response.status_code = status.HTTP_400_BAD_REQUEST
- return self._generate_msg(False, "Invalid JSON received")
-
- if "device" not in body_json or not (
- "mac_addr" in body_json["device"] and
- "firmware" in body_json["device"]):
- response.status_code = status.HTTP_400_BAD_REQUEST
- return self._generate_msg(False, "Invalid request received")
-
- device = self._session.get_device(body_json["device"]["mac_addr"])
-
- # Check Testrun is not already running
- if self._test_run.get_session().get_status() in [
- "In Progress",
- "Waiting for Device",
- ]:
- LOGGER.debug("Testrun is already running. Cannot start another instance")
- response.status_code = status.HTTP_409_CONFLICT
- return self._generate_msg(False, "Testrun is already running")
-
- # Check if requested device is known in the device repository
- if device is None:
- response.status_code = status.HTTP_404_NOT_FOUND
- return self._generate_msg(
- False,
- "A device with that MAC address could not be found")
-
- device.firmware = body_json["device"]["firmware"]
-
- # Check Testrun is able to start
- if self._test_run.get_net_orc().check_config() is False:
- response.status_code = status.HTTP_500_INTERNAL_SERVER_ERROR
- return self._generate_msg(False,"Configured interfaces are not " +
- "ready for use. Ensure required interfaces " +
- "are connected.")
-
- self._test_run.get_session().reset()
- self._test_run.get_session().set_target_device(device)
- LOGGER.info("Starting Testrun with device target " +
- f"{device.manufacturer} {device.model} with " +
- f"MAC address {device.mac_addr}")
-
- thread = threading.Thread(target=self._start_test_run,
- name="Testrun")
- thread.start()
- return self._test_run.get_session().to_json()
-
- def _generate_msg(self, success, message):
- msg_type = "success"
- if not success:
- msg_type = "error"
- return json.loads('{"' + msg_type + '": "' + message + '"}')
-
- def _start_test_run(self):
- self._test_run.start()
-
- async def stop_test_run(self):
- LOGGER.debug("Received stop command. Stopping Testrun")
-
- # TODO: Set status of 'Stopping'?
- self._test_run.stop()
-
- return self._generate_msg(True, "Testrun stopped")
-
- async def get_status(self):
- return self._test_run.get_session().to_json()
-
- async def get_history(self):
- LOGGER.debug("Received history list request")
- return self._session.get_all_reports()
-
- async def save_device(self, request: Request, response: Response):
- LOGGER.debug("Received device post request")
-
- try:
- device_raw = (await request.body()).decode("UTF-8")
- device_json = json.loads(device_raw)
-
- if not self._validate_device_json(device_json):
- response.status_code = status.HTTP_400_BAD_REQUEST
- return self._generate_msg(False, "Invalid request received")
-
- device = self._session.get_device(device_json.get(DEVICE_MAC_ADDR_KEY))
-
- if device is None:
-
- # Create new device
- device = Device()
- device.mac_addr = device_json.get(DEVICE_MAC_ADDR_KEY).lower()
- device.manufacturer = device_json.get(DEVICE_MANUFACTURER_KEY)
- device.model = device_json.get(DEVICE_MODEL_KEY)
- device.device_folder = device.manufacturer + " " + device.model
- device.test_modules = device_json.get(DEVICE_TEST_MODULES_KEY)
-
- self._test_run.create_device(device)
- response.status_code = status.HTTP_201_CREATED
-
- else:
-
- self._test_run.save_device(device, device_json)
- response.status_code = status.HTTP_200_OK
-
- return device.to_config_json()
-
- # Catch JSON Decode error etc
- except JSONDecodeError:
- response.status_code = status.HTTP_400_BAD_REQUEST
- return self._generate_msg(False, "Invalid JSON received")
-
- async def get_report(self, response: Response,
- device_name, timestamp):
-
- file_path = os.path.join(DEVICES_PATH, device_name, "reports",
- timestamp, "report.pdf")
- LOGGER.debug(f"Received get report request for {device_name} / {timestamp}")
- if os.path.isfile(file_path):
- return FileResponse(file_path)
- else:
- LOGGER.info("Report could not be found, returning 404")
- response.status_code = 404
- return self._generate_msg(False, "Report could not be found")
-
- def _validate_device_json(self, json_obj):
-
- # Check all required properties are present
- if not (DEVICE_MAC_ADDR_KEY in json_obj and
- DEVICE_MANUFACTURER_KEY in json_obj and
- DEVICE_MODEL_KEY in json_obj
- ):
- return False
-
- # Check length of strings
- if len(json_obj.get(DEVICE_MANUFACTURER_KEY)) > 64 or len(
- json_obj.get(DEVICE_MODEL_KEY)) > 64:
- return False
-
- disallowed_chars = ["/", "\\", "\'", "\"", ";"]
- for char in json_obj.get(DEVICE_MANUFACTURER_KEY):
- if char in disallowed_chars:
- return False
-
- for char in json_obj.get(DEVICE_MODEL_KEY):
- if char in disallowed_chars:
- return False
-
- return True
\ No newline at end of file
+# Copyright 2023 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from fastapi import FastAPI, APIRouter, Response, Request, status
+from fastapi.responses import FileResponse
+from fastapi.middleware.cors import CORSMiddleware
+from datetime import datetime
+import json
+from json import JSONDecodeError
+import os
+import psutil
+import requests
+import threading
+import uvicorn
+from urllib.parse import urlparse
+
+from common import logger
+from common.device import Device
+
+LOGGER = logger.get_logger("api")
+
+DEVICE_MAC_ADDR_KEY = "mac_addr"
+DEVICE_MANUFACTURER_KEY = "manufacturer"
+DEVICE_MODEL_KEY = "model"
+DEVICE_TEST_MODULES_KEY = "test_modules"
+DEVICES_PATH = "/usr/local/testrun/local/devices"
+DEFAULT_DEVICE_INTF = "enx123456789123"
+
+LATEST_RELEASE_CHECK = "https://api.github.com/repos/google/testrun/releases/latest"
+
+class Api:
+ """Provide REST endpoints to manage Testrun"""
+
+ def __init__(self, test_run):
+
+ self._test_run = test_run
+ self._name = "TestRun API"
+ self._router = APIRouter()
+
+ self._session = self._test_run.get_session()
+
+ self._router.add_api_route("/system/interfaces", self.get_sys_interfaces)
+ self._router.add_api_route("/system/config", self.post_sys_config,
+ methods=["POST"])
+ self._router.add_api_route("/system/config", self.get_sys_config)
+ self._router.add_api_route("/system/start", self.start_test_run,
+ methods=["POST"])
+ self._router.add_api_route("/system/stop", self.stop_test_run,
+ methods=["POST"])
+ self._router.add_api_route("/system/status", self.get_status)
+
+ self._router.add_api_route("/system/version", self.get_version)
+
+ # Deprecated: /history will be removed in version 1.1
+ self._router.add_api_route("/history", self.get_reports)
+
+ self._router.add_api_route("/reports", self.get_reports)
+ self._router.add_api_route("/report",
+ self.delete_report,
+ methods=["DELETE"])
+ self._router.add_api_route("/report/{device_name}/{timestamp}",
+ self.get_report)
+
+ self._router.add_api_route("/devices", self.get_devices)
+ self._router.add_api_route("/device",
+ self.delete_device,
+ methods=["DELETE"])
+ self._router.add_api_route("/device", self.save_device, methods=["POST"])
+
+ # Allow all origins to access the API
+ origins = ["*"]
+
+ self._app = FastAPI()
+ self._app.include_router(self._router)
+ self._app.add_middleware(
+ CORSMiddleware,
+ allow_origins=origins,
+ allow_credentials=True,
+ allow_methods=["*"],
+ allow_headers=["*"],
+ )
+
+ self._api_thread = threading.Thread(target=self._start,
+ name="Testrun API",
+ daemon=True)
+
+ def start(self):
+ LOGGER.info("Starting API")
+ self._api_thread.start()
+ LOGGER.info("API waiting for requests")
+
+ def _start(self):
+ uvicorn.run(self._app,
+ log_config=None,
+ host="0.0.0.0",
+ port=self._session.get_api_port())
+
+ def stop(self):
+ LOGGER.info("Stopping API")
+
+ async def get_sys_interfaces(self):
+ addrs = psutil.net_if_addrs()
+ ifaces = []
+ for iface in addrs:
+
+ # Ignore any interfaces that are not ethernet
+ if not (iface.startswith("en") or iface.startswith("eth")):
+ continue
+
+ ifaces.append(iface)
+
+ return ifaces
+
+ async def post_sys_config(self, request: Request, response: Response):
+ try:
+ config = (await request.body()).decode("UTF-8")
+ config_json = json.loads(config)
+ self._session.set_config(config_json)
+ # Catch JSON Decode error etc
+ except JSONDecodeError:
+ response.status_code = status.HTTP_400_BAD_REQUEST
+ return self._generate_msg(False, "Invalid JSON received")
+ return self._session.get_config()
+
+ async def get_sys_config(self):
+ return self._session.get_config()
+
+ async def get_devices(self):
+ return self._session.get_device_repository()
+
+ async def start_test_run(self, request: Request, response: Response):
+
+ LOGGER.debug("Received start command")
+
+ # Check request is valid
+ body = (await request.body()).decode("UTF-8")
+ body_json = None
+
+ try:
+ body_json = json.loads(body)
+ except JSONDecodeError:
+ response.status_code = status.HTTP_400_BAD_REQUEST
+ return self._generate_msg(False, "Invalid JSON received")
+
+ if "device" not in body_json or not (
+ "mac_addr" in body_json["device"] and
+ "firmware" in body_json["device"]):
+ response.status_code = status.HTTP_400_BAD_REQUEST
+ return self._generate_msg(False, "Invalid request received")
+
+ device = self._session.get_device(body_json["device"]["mac_addr"])
+
+ # Check Testrun is not already running
+ if self._test_run.get_session().get_status() in [
+ "In Progress",
+ "Waiting for Device",
+ "Monitoring"
+ ]:
+ LOGGER.debug("Testrun is already running. Cannot start another instance")
+ response.status_code = status.HTTP_409_CONFLICT
+ return self._generate_msg(False, "Testrun is already running")
+
+ # Check if requested device is known in the device repository
+ if device is None:
+ response.status_code = status.HTTP_404_NOT_FOUND
+ return self._generate_msg(
+ False,
+ "A device with that MAC address could not be found")
+
+ device.firmware = body_json["device"]["firmware"]
+
+ # Check if config has been updated (device interface not default)
+ if (self._test_run.get_session().get_device_interface()
+ == DEFAULT_DEVICE_INTF):
+ response.status_code = status.HTTP_400_BAD_REQUEST
+ return self._generate_msg(False,"Testrun configuration has not yet " +
+ "been completed.")
+
+ # Check Testrun is able to start
+ if self._test_run.get_net_orc().check_config() is False:
+ response.status_code = status.HTTP_500_INTERNAL_SERVER_ERROR
+ return self._generate_msg(False,"Configured interfaces are not " +
+ "ready for use. Ensure required interfaces " +
+ "are connected.")
+
+ LOGGER.info("Starting Testrun with device target " +
+ f"{device.manufacturer} {device.model} with " +
+ f"MAC address {device.mac_addr}")
+
+ thread = threading.Thread(target=self._start_test_run,
+ name="Testrun")
+ thread.start()
+
+ self._test_run.get_session().set_target_device(device)
+
+ return self._test_run.get_session().to_json()
+
+ def _generate_msg(self, success, message):
+ msg_type = "success"
+ if not success:
+ msg_type = "error"
+ return json.loads('{"' + msg_type + '": "' + message + '"}')
+
+ def _start_test_run(self):
+ self._test_run.start()
+
+ async def stop_test_run(self):
+ LOGGER.debug("Received stop command. Stopping Testrun")
+
+ self._test_run.stop()
+
+ return self._generate_msg(True, "Testrun stopped")
+
+ async def get_status(self):
+ return self._test_run.get_session().to_json()
+
+ async def get_version(self, response: Response):
+ json_response = {}
+
+ # Obtain the current version
+ current_version = self._session.get_version()
+
+ # Check if current version was able to be obtained
+ if current_version is None:
+ response.status_code = 500
+ return self._generate_msg(False, "Could not fetch current version")
+
+ # Set the installed version
+ json_response["installed_version"] = "v" + current_version
+
+ # Check latest version number from GitHub API
+ version_check = requests.get(LATEST_RELEASE_CHECK, timeout=5)
+
+ # Check OK response was received
+ if version_check.status_code != 200:
+ response.status_code = 500
+ LOGGER.error(version_check.content)
+ return self._generate_msg(False, "Failed to fetch latest version")
+
+ # Extract version number from response, removing the leading 'v'
+ latest_version_no = version_check.json()["name"].strip("v")
+ LOGGER.debug(f"Latest version available is {latest_version_no}")
+
+ # Craft JSON response
+ json_response["latest_version"] = "v" + latest_version_no
+ json_response["latest_version_url"] = version_check.json()["html_url"]
+
+ # String comparison between current and latest version
+ if latest_version_no > current_version:
+ json_response["update_available"] = True
+ LOGGER.debug("An update is available")
+ else:
+ json_response["update_available"] = False
+ LOGGER.debug("The latest version is installed")
+
+ return json_response
+
+ async def get_reports(self, request: Request):
+ LOGGER.debug("Received reports list request")
+ # Resolve the server IP from the request so we
+ # can fix the report URL
+ client_origin = request.headers.get("Origin")
+ parsed_url = urlparse(client_origin)
+ server_ip = parsed_url.hostname # This will give you the IP address
+
+ reports = self._session.get_all_reports()
+ for report in reports:
+ # report URL is currently hard coded as localhost so we can
+ # replace that to fix the IP dynamically from the requester
+ report["report"] = report["report"].replace("localhost",server_ip)
+ return reports
+
+ async def delete_report(self, request: Request, response: Response):
+
+ body_raw = (await request.body()).decode("UTF-8")
+
+ if len(body_raw) == 0:
+ response.status_code = 400
+ return self._generate_msg(False, "Invalid request received")
+
+ body_json = json.loads(body_raw)
+
+ if "mac_addr" not in body_json or "timestamp" not in body_json:
+ response.status_code = 400
+ return self._generate_msg(False, "Invalid request received")
+
+ mac_addr = body_json.get("mac_addr").lower()
+ timestamp = body_json.get("timestamp")
+ parsed_timestamp = datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S")
+ timestamp_formatted = parsed_timestamp.strftime("%Y-%m-%dT%H:%M:%S")
+
+ # Get device from MAC address
+ device = self._session.get_device(mac_addr)
+
+ if device is None:
+ response.status_code = 404
+ return self._generate_msg(False, "Could not find device")
+
+ if self._test_run.delete_report(device, timestamp_formatted):
+ return self._generate_msg(True, "Deleted report")
+
+ response.status_code = 500
+ return self._generate_msg(False, "Error occured whilst deleting report")
+
+ async def delete_device(self, request: Request, response: Response):
+
+ LOGGER.debug("Received device delete request")
+
+ try:
+
+ # Extract MAC address from request body
+ device_raw = (await request.body()).decode("UTF-8")
+ device_json = json.loads(device_raw)
+
+ # Validate that mac_addr has been specified in the body
+ if "mac_addr" not in device_json:
+ response.status_code = 400
+ return self._generate_msg(False, "Invalid request received")
+
+ mac_addr = device_json.get("mac_addr").lower()
+
+ # Check that device exists
+ device = self._test_run.get_session().get_device(mac_addr)
+
+ if device is None:
+ response.status_code = 404
+ return self._generate_msg(False, "Device not found")
+
+ # Check that Testrun is not currently running against this device
+ if (self._session.get_target_device() == device and
+ self._session.get_status() not in [
+ "Cancelled",
+ "Compliant",
+ "Non-Compliant"]):
+ response.status_code = 403
+ return self._generate_msg(False, "Cannot delete this device whilst " +
+ "it is being tested")
+
+ # Delete device
+ self._test_run.delete_device(device)
+
+ # Return success response
+ response.status_code = 200
+ return self._generate_msg(True, "Successfully deleted the device")
+
+ # TODO: Find specific exception to catch
+ except Exception as e:
+ LOGGER.error(e)
+ response.status_code = 500
+ return self._generate_msg(False, "An error occured whilst deleting " +
+ "the device")
+
+ async def save_device(self, request: Request, response: Response):
+ LOGGER.debug("Received device post request")
+
+ try:
+ device_raw = (await request.body()).decode("UTF-8")
+ device_json = json.loads(device_raw)
+
+ if not self._validate_device_json(device_json):
+ response.status_code = status.HTTP_400_BAD_REQUEST
+ return self._generate_msg(False, "Invalid request received")
+
+ device = self._session.get_device(device_json.get(DEVICE_MAC_ADDR_KEY))
+
+ if device is None:
+
+ # Create new device
+ device = Device()
+ device.mac_addr = device_json.get(DEVICE_MAC_ADDR_KEY).lower()
+ device.manufacturer = device_json.get(DEVICE_MANUFACTURER_KEY)
+ device.model = device_json.get(DEVICE_MODEL_KEY)
+ device.device_folder = device.manufacturer + " " + device.model
+ device.test_modules = device_json.get(DEVICE_TEST_MODULES_KEY)
+
+ self._test_run.create_device(device)
+ response.status_code = status.HTTP_201_CREATED
+
+ else:
+
+ self._test_run.save_device(device, device_json)
+ response.status_code = status.HTTP_200_OK
+
+ return device.to_config_json()
+
+ # Catch JSON Decode error etc
+ except JSONDecodeError:
+ response.status_code = status.HTTP_400_BAD_REQUEST
+ return self._generate_msg(False, "Invalid JSON received")
+
+ async def get_report(self, response: Response,
+ device_name, timestamp):
+
+ file_path = os.path.join(DEVICES_PATH, device_name, "reports",
+ timestamp, "report.pdf")
+ LOGGER.debug(f"Received get report request for {device_name} / {timestamp}")
+ if os.path.isfile(file_path):
+ return FileResponse(file_path)
+ else:
+ LOGGER.info("Report could not be found, returning 404")
+ response.status_code = 404
+ return self._generate_msg(False, "Report could not be found")
+
+ def _validate_device_json(self, json_obj):
+
+ # Check all required properties are present
+ if not (DEVICE_MAC_ADDR_KEY in json_obj and
+ DEVICE_MANUFACTURER_KEY in json_obj and
+ DEVICE_MODEL_KEY in json_obj
+ ):
+ return False
+
+ # Check length of strings
+ if len(json_obj.get(DEVICE_MANUFACTURER_KEY)) > 64 or len(
+ json_obj.get(DEVICE_MODEL_KEY)) > 64:
+ return False
+
+ disallowed_chars = ["/", "\\", "\'", "\"", ";"]
+ for char in json_obj.get(DEVICE_MANUFACTURER_KEY):
+ if char in disallowed_chars:
+ return False
+
+ for char in json_obj.get(DEVICE_MODEL_KEY):
+ if char in disallowed_chars:
+ return False
+
+ return True
diff --git a/framework/python/src/common/device.py b/framework/python/src/common/device.py
index cb666f89a..979344eb4 100644
--- a/framework/python/src/common/device.py
+++ b/framework/python/src/common/device.py
@@ -30,6 +30,7 @@ class Device():
ip_addr: str = None
firmware: str = None
device_folder: str = None
+ reports: List[TestReport] = field(default_factory=list)
max_device_reports: int = None
reports: List[TestReport] = field(default_factory=list)
@@ -43,7 +44,8 @@ def remove_report(self, timestamp):
remove_report_target = None
for report in self.reports:
- if report.get_started() == timestamp:
+ report_timestamp = report.get_started().strftime('%Y-%m-%dT%H:%M:%S')
+ if report_timestamp == timestamp:
remove_report_target = report
if remove_report_target is not None:
@@ -58,6 +60,7 @@ def to_dict(self):
device_json['model'] = self.model
if self.firmware is not None:
device_json['firmware'] = self.firmware
+ device_json['test_modules'] = self.test_modules
return device_json
def to_config_json(self):
diff --git a/framework/python/src/common/session.py b/framework/python/src/common/session.py
index d82bdbf62..70442e9ff 100644
--- a/framework/python/src/common/session.py
+++ b/framework/python/src/common/session.py
@@ -42,6 +42,10 @@ def __init__(self, config_file):
self._runtime_params = []
self._device_repository = []
self._total_tests = 0
+
+ self._version = None
+ self._load_version()
+
self._config_file = config_file
self._config = self._get_default_config()
self._load_config()
@@ -121,6 +125,18 @@ def _load_config(self):
LOGGER.debug(self._config)
+ def _load_version(self):
+ version_cmd = util.run_command(
+ 'dpkg-query --showformat=\'${Version}\' --show testrun')
+
+ if version_cmd:
+ version = version_cmd[0]
+ LOGGER.info(f'Running Testrun version {version}')
+ self._version = version
+
+ def get_version(self):
+ return self._version
+
def _save_config(self):
with open(self._config_file, 'w', encoding='utf-8') as f:
f.write(json.dumps(self._config, indent=2))
@@ -174,10 +190,13 @@ def clear_device_repository(self):
def get_device(self, mac_addr):
for device in self._device_repository:
- if device.mac_addr == mac_addr:
+ if device.mac_addr.lower() == mac_addr.lower():
return device
return None
+ def remove_device(self, device):
+ self._device_repository.remove(device)
+
def get_status(self):
return self._status
diff --git a/framework/python/src/common/testreport.py b/framework/python/src/common/testreport.py
index 28a3d4d31..0ac4cb9a6 100644
--- a/framework/python/src/common/testreport.py
+++ b/framework/python/src/common/testreport.py
@@ -17,6 +17,7 @@
from datetime import datetime
from weasyprint import HTML
from io import BytesIO
+from common import util
import base64
import os
@@ -94,6 +95,9 @@ def from_json(self, json_file):
if 'firmware' in json_file['device']:
self._device['firmware'] = json_file['device']['firmware']
+ if 'test_modules' in json_file['device']:
+ self._device['test_modules'] = json_file['device']['test_modules']
+
self._status = json_file['status']
self._started = datetime.strptime(json_file['started'], DATE_TIME_FORMAT)
self._finished = datetime.strptime(json_file['finished'], DATE_TIME_FORMAT)
@@ -178,8 +182,7 @@ def generate_pages(self, json_data):
def generate_page(self, json_data, page_num, max_page):
# Placeholder until available in json report
-
- version = 'v1.0.3 (2023-11-14)'
+ version = 'v1.1 (2023-12-15)'
page = '
'
page += self.generate_header(json_data)
if page_num == 1:
@@ -191,7 +194,7 @@ def generate_page(self, json_data, page_num, max_page):
page += '
'
return page
- def generate_body(self, json_data, page_num=1, max_page=1):
+ def generate_body(self, json_data):
return f'''
{self.generate_pages(json_data)}
@@ -269,11 +272,15 @@ def generate_summary(self, json_data):
'''
# Add the device information
- manufacturer = json_data['device']['manufacturer'] if 'manufacturer' in json_data['device'] else 'Undefined'
- model = json_data['device']['model'] if 'model' in json_data['device'] else 'Undefined'
- fw = json_data['device']['firmware'] if 'firmware' in json_data['device'] else 'Undefined'
- mac = json_data['device']['mac_addr'] if 'mac_addr' in json_data['device'] else 'Undefined'
-
+ manufacturer = (json_data['device']['manufacturer']
+ if 'manufacturer' in json_data['device'] else 'Undefined')
+ model = (json_data['device']['model']
+ if 'model' in json_data['device'] else 'Undefined')
+ fw = (json_data['device']['firmware']
+ if 'firmware' in json_data['device'] else 'Undefined')
+ mac = (json_data['device']['mac_addr']
+ if 'mac_addr' in json_data['device'] else 'Undefined')
+
summary += self.generate_device_summary_label('Manufacturer',manufacturer)
summary += self.generate_device_summary_label('Model',model)
summary += self.generate_device_summary_label('Firmware',fw)
@@ -282,20 +289,66 @@ def generate_summary(self, json_data):
mac,
trailing_space=False)
+ # Add device configuration
+ summary += '''
+
+
+ Device Configuration
+
+ '''
+
+ if 'test_modules' in json_data['device']:
+
+ sorted_modules = {}
+
+ for test_module in json_data['device']['test_modules']:
+ if 'enabled' in json_data['device']['test_modules'][test_module]:
+ sorted_modules[test_module] = json_data['device']['test_modules'][
+ test_module]['enabled']
+
+ # Sort the modules by enabled first
+ sorted_modules = sorted(sorted_modules.items(),
+ key=lambda x:x[1],
+ reverse=True)
+
+ for module in sorted_modules:
+ summary += self.generate_device_module_label(
+ module[0],
+ module[1]
+ )
+
+ summary += '
'
+
# Add the result summary
summary += self.generate_result_summary(json_data)
summary += '\n
'
return summary
+ def generate_device_module_label(self, module, enabled):
+ label = ''
+ if enabled:
+ label += '✔ '
+ else:
+ label += '✖ '
+ label += util.get_module_display_name(module)
+ label += '
'
+ return label
+
def generate_result_summary(self,json_data):
if json_data['status'] == 'Compliant':
- result_summary = ''''''
+ result_summary = '''
'''
else:
- result_summary = '''
'''
- result_summary += self.generate_result_summary_item('Test status', 'Complete')
- result_summary += self.generate_result_summary_item('Test result', json_data['status'], style='color: white; font-size:24px; font-weight: 700;')
- result_summary += self.generate_result_summary_item('Started', json_data['started'])
+ result_summary = '''
'''
+ result_summary += self.generate_result_summary_item('Test status',
+ 'Complete')
+ result_summary += self.generate_result_summary_item(
+ 'Test result',json_data['status'],
+ style='color: white; font-size:24px; font-weight: 700;')
+ result_summary += self.generate_result_summary_item('Started',
+ json_data['started'])
# Convert the timestamp strings to datetime objects
start_time = datetime.strptime(json_data['started'], '%Y-%m-%d %H:%M:%S')
@@ -312,7 +365,8 @@ def generate_result_summary(self,json_data):
def generate_result_summary_item(self, key, value, style=None):
summary_item = f'''
{key}
'''
if style is not None:
- summary_item += f'''
{value}
'''
+ summary_item += f'''
{value}
'''
else:
summary_item += f'''
{value}
'''
return summary_item
@@ -438,6 +492,20 @@ def generate_css(self):
margin: 0;
}
+ .summary-device-modules {
+ position: absolute;
+ left: 3.2in;
+ top: .3in;
+ }
+
+ .summary-device-module-label {
+ font-size: 16px;
+ font-weight: 500;
+ color: #202124;
+ width: fit-content;
+ margin-bottom: 0.1in;
+ }
+
.summary-vertical-line {
width: 1px;
height: var(--vertical-line-height);
diff --git a/framework/python/src/common/util.py b/framework/python/src/common/util.py
index 3916ce141..098c478d3 100644
--- a/framework/python/src/common/util.py
+++ b/framework/python/src/common/util.py
@@ -96,3 +96,18 @@ def get_user():
def set_file_owner(path, owner):
run_command(f'chown -R {owner} {path}')
+
+def get_module_display_name(search):
+ modules = {
+ 'ntp': 'NTP',
+ 'dns': 'DNS',
+ 'connection': 'Connection',
+ 'nmap': 'Services',
+ 'tls': 'TLS'
+ }
+
+ for module in modules.items():
+ if search == module[0]:
+ return module[1]
+
+ return 'Unknown'
diff --git a/framework/python/src/core/test_runner.py b/framework/python/src/core/test_runner.py
index f3db52eec..aa0668a66 100644
--- a/framework/python/src/core/test_runner.py
+++ b/framework/python/src/core/test_runner.py
@@ -61,8 +61,8 @@ def _exit_handler(self, signum, arg): # pylint: disable=unused-argument
self._stop(True)
sys.exit(1)
- def stop(self, kill=False):
- self.test_run.stop(kill)
+ def stop(self):
+ self.test_run.stop()
def parse_args():
diff --git a/framework/python/src/core/testrun.py b/framework/python/src/core/testrun.py
index 98ab9ebe6..48e31c721 100644
--- a/framework/python/src/core/testrun.py
+++ b/framework/python/src/core/testrun.py
@@ -23,8 +23,9 @@
import docker
import json
import os
-import sys
+import shutil
import signal
+import sys
import time
from common import logger, util
from common.device import Device
@@ -104,7 +105,7 @@ def __init__(self,
if self._no_ui:
- # Check Test Run is able to start
+ # Check Testrun is able to start
if self.get_net_orc().check_config() is False:
return
@@ -128,7 +129,7 @@ def load_all_devices(self):
self._session.clear_device_repository()
self._load_devices(device_dir=LOCAL_DEVICES_DIR)
- # Temporarily removing loading of template device
+ # Temporarily removing loading of template device
# configs (feature not required yet)
# self._load_devices(device_dir=RESOURCE_DEVICES_DIR)
return self.get_session().get_device_repository()
@@ -146,7 +147,8 @@ def _load_devices(self, device_dir):
# Check if device config file exists before loading
if not os.path.exists(device_config_file_path):
- LOGGER.error(f'Device configuration file missing from device {device_folder}')
+ LOGGER.error('Device configuration file missing ' +
+ f'from device {device_folder}')
continue
# Open device config file
@@ -181,6 +183,8 @@ def _load_devices(self, device_dir):
def _load_test_reports(self, device):
+ LOGGER.debug(f'Loading test reports for device {device.model}')
+
# Locate reports folder
reports_folder = os.path.join(root_dir,
LOCAL_DEVICES_DIR,
@@ -209,6 +213,27 @@ def _load_test_reports(self, device):
test_report.from_json(report_json)
device.add_report(test_report)
+ def delete_report(self, device: Device, timestamp):
+ LOGGER.debug(f'Deleting test report for device {device.model} ' +
+ f'at {timestamp}')
+
+ # Locate reports folder
+ reports_folder = os.path.join(root_dir,
+ LOCAL_DEVICES_DIR,
+ device.device_folder, 'reports')
+
+ # Check if reports folder exists (device may have no reports)
+ if not os.path.exists(reports_folder):
+ return False
+
+ for report_folder in os.listdir(reports_folder):
+ if report_folder == timestamp:
+ shutil.rmtree(os.path.join(reports_folder, report_folder))
+ device.remove_report(timestamp)
+ return True
+
+ return False
+
def create_device(self, device: Device):
# Define the device folder location
@@ -256,6 +281,19 @@ def save_device(self, device: Device, device_json):
return device.to_config_json()
+ def delete_device(self, device: Device):
+
+ # Obtain the config file path
+ device_folder = os.path.join(root_dir,
+ LOCAL_DEVICES_DIR,
+ device.device_folder)
+
+ # Delete the device directory
+ shutil.rmtree(device_folder)
+
+ # Remove the device from the current session device repository
+ self.get_session().remove_device(device)
+
def start(self):
self.get_session().start()
@@ -279,21 +317,21 @@ def start(self):
self.get_net_orc().start_listener()
LOGGER.info('Waiting for devices on the network...')
- self._set_status('Waiting for Device')
# Keep application running until stopped
while True:
time.sleep(5)
- def stop(self, kill=False):
+ def stop(self):
# Prevent discovering new devices whilst stopping
if self.get_net_orc().get_listener() is not None:
self.get_net_orc().get_listener().stop_listener()
+ self.get_session().set_status('Stopping')
+
self._stop_tests()
- self._stop_network(kill=kill)
- self._stop_ui()
+ self._stop_network(kill=True)
self.get_session().set_status('Cancelled')
def _register_exits(self):
@@ -306,7 +344,8 @@ def _exit_handler(self, signum, arg): # pylint: disable=unused-argument
LOGGER.debug('Exit signal received: ' + str(signum))
if signum in (2, signal.SIGTERM):
LOGGER.info('Exit signal received.')
- self.stop(kill=True)
+ self.stop()
+ self._stop_ui()
sys.exit(1)
def _get_config_abs(self, config_file=None):
@@ -326,11 +365,11 @@ def get_net_orc(self):
def _start_network(self):
# Start the network orchestrator
if not self.get_net_orc().start():
- self.stop(kill=True)
+ self.stop()
sys.exit(1)
- def _stop_network(self, kill=False):
- self.get_net_orc().stop(kill=kill)
+ def _stop_network(self, kill=True):
+ self.get_net_orc().stop(kill)
def _stop_tests(self):
self._test_orc.stop()
@@ -364,9 +403,18 @@ def _device_discovered(self, mac_addr):
'Waiting for device to obtain IP')
def _device_stable(self, mac_addr):
+
+ # Do not continue testing if Testrun has cancelled during monitor phase
+ if self.get_session().get_status() == 'Cancelled':
+ return
+
LOGGER.info(f'Device with mac address {mac_addr} is ready for testing.')
+ self._set_status('In Progress')
result = self._test_orc.run_test_modules()
- self._set_status(result)
+
+ if result is not None:
+ self._set_status(result)
+ self._stop_network()
def get_session(self):
return self._session
@@ -397,6 +445,7 @@ def start_ui(self):
LOGGER.info('User interface is ready on http://localhost:8080')
def _stop_ui(self):
+ LOGGER.info('Stopping user interface')
client = docker.from_env()
try:
container = client.containers.get('tr-ui')
diff --git a/framework/python/src/net_orc/network_orchestrator.py b/framework/python/src/net_orc/network_orchestrator.py
index 64eb1eaaf..8126d0738 100644
--- a/framework/python/src/net_orc/network_orchestrator.py
+++ b/framework/python/src/net_orc/network_orchestrator.py
@@ -61,7 +61,6 @@ def __init__(self,
os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
self.validator = NetworkValidator()
- shutil.rmtree(os.path.join(os.getcwd(), NET_DIR), ignore_errors=True)
self.network_config = NetworkConfig()
self._ovs = OVSControl(self._session)
self._ip_ctrl = IPControl()
@@ -71,6 +70,9 @@ def start(self):
LOGGER.debug('Starting network orchestrator')
+ # Delete the runtime/network directory
+ shutil.rmtree(os.path.join(os.getcwd(), NET_DIR), ignore_errors=True)
+
# Get all components ready
self.load_network_modules()
@@ -217,6 +219,7 @@ def _dhcp_lease_ack(self, packet):
def _start_device_monitor(self, device):
"""Start a timer until the steady state has been reached and
callback the steady state method for this device."""
+ self.get_session().set_status('Monitoring')
LOGGER.info(f'Monitoring device with mac addr {device.mac_addr} '
f'for {str(self._session.get_monitor_period())} seconds')
diff --git a/framework/python/src/test_orc/test_orchestrator.py b/framework/python/src/test_orc/test_orchestrator.py
index 117d82839..21b8650bb 100644
--- a/framework/python/src/test_orc/test_orchestrator.py
+++ b/framework/python/src/test_orc/test_orchestrator.py
@@ -76,6 +76,10 @@ def stop(self):
def run_test_modules(self):
"""Iterates through each test module and starts the container."""
+ # Do not start test modules if status is not in progress, e.g. Stopping
+ if self.get_session().get_status() != "In Progress":
+ return
+
device = self._session.get_target_device()
self._test_in_progress = True
LOGGER.info(
@@ -100,6 +104,10 @@ def run_test_modules(self):
self._session.stop()
+ # Do not carry on (generating a report) if Testrun has been stopped
+ if self.get_session().get_status() != "In Progress":
+ return None
+
report = TestReport()
report.from_json(self._generate_report())
device.add_report(report)
@@ -235,7 +243,7 @@ def _timestamp_results(self, device):
# Copy the results to the timestamp directory
# leave current copy in place for quick reference to
# most recent test
- shutil.copytree(cur_results_dir, completed_results_dir)
+ shutil.copytree(cur_results_dir, completed_results_dir, dirs_exist_ok=True)
util.run_command(f"chown -R {self._host_user} '{completed_results_dir}'")
def test_in_progress(self):
@@ -253,6 +261,10 @@ def _is_module_enabled(self, module, device):
def _run_test_module(self, module):
"""Start the test container and extract the results."""
+ # Check that Testrun is not stopping
+ if self.get_session().get_status() != "In Progress":
+ return
+
device = self._session.get_target_device()
LOGGER.info("Running test module " + module.name)
@@ -332,8 +344,11 @@ def _run_test_module(self, module):
status = self._get_module_status(module)
log_stream = module.container.logs(stream=True, stdout=True, stderr=True)
- while (time.time() < test_module_timeout and status == "running"
- and self._session.get_status() == "In Progress"):
+ while (status == "running" and self._session.get_status() == "In Progress"):
+ if time.time() > test_module_timeout:
+ LOGGER.error("Module timeout exceeded, killing module: " + module.name)
+ self._stop_module(module=module,kill=True)
+ break
try:
line = next(log_stream).decode("utf-8").strip()
if re.search(LOG_REGEX, line):
@@ -342,6 +357,12 @@ def _run_test_module(self, module):
time.sleep(1)
status = self._get_module_status(module)
+ # Check that Testrun has not been stopped whilst this module was running
+ if self.get_session().get_status() == "Stopping":
+ # Discard results for this module
+ LOGGER.info(f"Test module {module.name} has forcefully quit")
+ return
+
# Get test results from module
container_runtime_dir = os.path.join(
self._root_path,
@@ -356,8 +377,8 @@ def _run_test_module(self, module):
except (FileNotFoundError, PermissionError,
json.JSONDecodeError) as results_error:
LOGGER.error(
- f"Error occured whilst obbtaining results for module {module.name}")
- LOGGER.debug(results_error)
+ f"Error occurred whilst obtaining results for module {module.name}")
+ LOGGER.error(results_error)
LOGGER.info(f"Test module {module.name} has finished")
diff --git a/make/DEBIAN/control b/make/DEBIAN/control
index 0cf7e37d6..c5af91918 100644
--- a/make/DEBIAN/control
+++ b/make/DEBIAN/control
@@ -1,5 +1,5 @@
Package: Testrun
-Version: 1.0.3
+Version: 1.1
Architecture: amd64
Maintainer: Google
Homepage: https://github.com/google/testrun
diff --git a/make/DEBIAN/prerm b/make/DEBIAN/prerm
index 8f0054282..95f226749 100755
--- a/make/DEBIAN/prerm
+++ b/make/DEBIAN/prerm
@@ -14,6 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# Stop any running containers
+echo Stopping any running containers
+running_containers=$(docker container ls -q --filter name=tr-*)
+if [ -n "$running_containers" ]; then
+ docker container kill $running_containers
+else
+ echo No containers were found running
+fi
+
# Remove docker images
echo Removing docker images
docker_images=$(sudo docker images --filter=reference="test-run/*" -q)
diff --git a/modules/network/dhcp-1/conf/dhcpd.conf b/modules/network/dhcp-1/conf/dhcpd.conf
index 39f67c3b8..3862ed6d8 100644
--- a/modules/network/dhcp-1/conf/dhcpd.conf
+++ b/modules/network/dhcp-1/conf/dhcpd.conf
@@ -1,29 +1,29 @@
-default-lease-time 30;
-max-lease-time 30;
-
-failover peer "failover-peer" {
- primary;
- address 10.10.10.2;
- port 847;
- peer address 10.10.10.3;
- peer port 647;
- max-response-delay 60;
- max-unacked-updates 10;
- mclt 30;
- split 128;
- load balance max seconds 3;
-}
-
-subnet 10.10.10.0 netmask 255.255.255.0 {
- option ntp-servers 10.10.10.5;
- option subnet-mask 255.255.255.0;
- option broadcast-address 10.10.10.255;
- option routers 10.10.10.1;
- option domain-name-servers 10.10.10.4;
- interface veth0;
- authoritative;
- pool {
- failover peer "failover-peer";
- range 10.10.10.10 10.10.10.20;
- }
+default-lease-time 30;
+max-lease-time 30;
+
+failover peer "failover-peer" {
+ primary;
+ address 10.10.10.2;
+ port 847;
+ peer address 10.10.10.3;
+ peer port 647;
+ max-response-delay 60;
+ max-unacked-updates 10;
+ mclt 30;
+ split 128;
+ load balance max seconds 3600;
+}
+
+subnet 10.10.10.0 netmask 255.255.255.0 {
+ option ntp-servers 10.10.10.5;
+ option subnet-mask 255.255.255.0;
+ option broadcast-address 10.10.10.255;
+ option routers 10.10.10.1;
+ option domain-name-servers 10.10.10.4;
+ interface veth0;
+ authoritative;
+ pool {
+ failover peer "failover-peer";
+ range 10.10.10.10 10.10.10.20;
+ }
}
\ No newline at end of file
diff --git a/modules/network/dhcp-1/conf/radvd.conf b/modules/network/dhcp-1/conf/radvd.conf
index 0cc500fd5..8d7bbf849 100644
--- a/modules/network/dhcp-1/conf/radvd.conf
+++ b/modules/network/dhcp-1/conf/radvd.conf
@@ -2,11 +2,13 @@ interface veth0
{
AdvSendAdvert on;
AdvManagedFlag off;
- MinRtrAdvInterval 30;
- MaxRtrAdvInterval 60;
+ MinRtrAdvInterval 10;
+ MaxRtrAdvInterval 30;
prefix fd10:77be:4186::/64 {
- AdvOnLink on;
+ AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
+ AdvValidLifetime 60;
+ AdvPreferredLifetime 30;
};
-};
+};
\ No newline at end of file
diff --git a/modules/network/dhcp-1/dhcp-1.Dockerfile b/modules/network/dhcp-1/dhcp-1.Dockerfile
index 8ef896f17..8fc2d0630 100644
--- a/modules/network/dhcp-1/dhcp-1.Dockerfile
+++ b/modules/network/dhcp-1/dhcp-1.Dockerfile
@@ -24,7 +24,7 @@ RUN apt-get update --fix-missing
# Install all necessary packages
RUN apt-get install -y wget
-#Update the oui.txt file from ieee
+# Update the oui.txt file from ieee
RUN wget http://standards-oui.ieee.org/oui.txt -P /usr/local/etc/
# Install dhcp server
diff --git a/modules/network/dhcp-1/python/src/grpc_server/dhcp_server.py b/modules/network/dhcp-1/python/src/grpc_server/dhcp_server.py
index 7c2ca3d83..cd58987bb 100644
--- a/modules/network/dhcp-1/python/src/grpc_server/dhcp_server.py
+++ b/modules/network/dhcp-1/python/src/grpc_server/dhcp_server.py
@@ -30,7 +30,7 @@ def __init__(self):
global LOGGER
LOGGER = logger.get_logger(LOG_NAME, 'dhcp-1')
self.dhcp_config = DHCPConfig()
- self.radvd = RADVDServer()
+ self.radvd = RADVDServer(enabled=True)
self.isc_dhcp = ISCDHCPServer()
self.dhcp_config.resolve_config()
@@ -38,7 +38,7 @@ def restart(self):
LOGGER.info('Restarting DHCP server')
isc_started = self.isc_dhcp.restart()
radvd_started = self.radvd.restart()
- started = isc_started and radvd_started
+ started = isc_started and (radvd_started or not self.radvd.enabled)
LOGGER.info('DHCP server restarted: ' + str(started))
return started
@@ -46,7 +46,7 @@ def start(self):
LOGGER.info('Starting DHCP server')
isc_started = self.isc_dhcp.start()
radvd_started = self.radvd.start()
- started = isc_started and radvd_started
+ started = isc_started and (radvd_started or not self.radvd.enabled)
LOGGER.info('DHCP server started: ' + str(started))
return started
@@ -54,7 +54,7 @@ def stop(self):
LOGGER.info('Stopping DHCP server')
isc_stopped = self.isc_dhcp.stop()
radvd_stopped = self.radvd.stop()
- stopped = isc_stopped and radvd_stopped
+ stopped = isc_stopped and (radvd_stopped or not self.radvd.enabled)
LOGGER.info('DHCP server stopped: ' + str(stopped))
return stopped
@@ -62,7 +62,7 @@ def is_running(self):
LOGGER.info('Checking DHCP server status')
isc_running = self.isc_dhcp.is_running()
radvd_running = self.radvd.is_running()
- running = isc_running and radvd_running
+ running = isc_running and (radvd_running or not self.radvd.enabled)
LOGGER.info('DHCP server status: ' + str(running))
return running
@@ -83,7 +83,6 @@ def boot(self):
LOGGER.info('DHCP server booted: ' + str(booted))
return booted
-
def run():
dhcp_server = DHCPServer()
booted = dhcp_server.boot()
diff --git a/modules/network/dhcp-1/python/src/grpc_server/radvd_server.py b/modules/network/dhcp-1/python/src/grpc_server/radvd_server.py
index 38eec4985..1422242a3 100644
--- a/modules/network/dhcp-1/python/src/grpc_server/radvd_server.py
+++ b/modules/network/dhcp-1/python/src/grpc_server/radvd_server.py
@@ -22,29 +22,42 @@
class RADVDServer:
"""Represents the RADVD Server"""
- def __init__(self):
+ def __init__(self, enabled=True):
global LOGGER
LOGGER = logger.get_logger(LOG_NAME, 'dhcp-1')
+ self.enabled = enabled
def restart(self):
+ if not self.enabled:
+ LOGGER.info('Cannot restart RADVD server, disabled')
+ return False
LOGGER.info('Restarting RADVD server')
response = util.run_command('radvd-service restart', False)
LOGGER.info('RADVD restarted: ' + str(response))
return response
def start(self):
+ if not self.enabled:
+ LOGGER.info('Cannot start RADVD server, disabled')
+ return False
LOGGER.info('Starting RADVD server')
response = util.run_command('radvd-service start', False)
LOGGER.info('RADVD started: ' + str(response))
return response
def stop(self):
+ if not self.enabled:
+ LOGGER.info('Cannot stop RADVD server, disabled')
+ return False
LOGGER.info('Stopping RADVD server')
response = util.run_command('radvd-service stop', False)
LOGGER.info('RADVD stopped: ' + str(response))
return response
def is_running(self):
+ if not self.enabled:
+ LOGGER.info('RADVD server disabled')
+ return False
LOGGER.info('Checking RADVD status')
response = util.run_command('radvd-service status')
running = response[0] == 'radvd service is running.'
diff --git a/modules/network/dhcp-2/conf/dhcpd.conf b/modules/network/dhcp-2/conf/dhcpd.conf
index 5a6c82410..3cf2e5e1d 100644
--- a/modules/network/dhcp-2/conf/dhcpd.conf
+++ b/modules/network/dhcp-2/conf/dhcpd.conf
@@ -9,7 +9,6 @@ failover peer "failover-peer" {
peer port 847;
max-response-delay 60;
max-unacked-updates 10;
- load balance max seconds 3;
}
subnet 10.10.10.0 netmask 255.255.255.0 {
diff --git a/modules/network/dhcp-2/conf/radvd.conf b/modules/network/dhcp-2/conf/radvd.conf
index f6d6f30d9..5b8d4f78d 100644
--- a/modules/network/dhcp-2/conf/radvd.conf
+++ b/modules/network/dhcp-2/conf/radvd.conf
@@ -2,11 +2,13 @@ interface veth0
{
AdvSendAdvert on;
AdvManagedFlag off;
- MinRtrAdvInterval 30;
- MaxRtrAdvInterval 60;
- prefix fd10:77be:4186::/64 {
- AdvOnLink on;
+ MinRtrAdvInterval 10;
+ MaxRtrAdvInterval 30;
+ prefix fd10:77be:4186::/64 {
+ AdvOnLink on;
AdvAutonomous on;
- AdvRouterAddr on;
+ AdvRouterAddr on;
+ AdvValidLifetime 60;
+ AdvPreferredLifetime 30;
};
};
\ No newline at end of file
diff --git a/modules/network/dhcp-2/dhcp-2.Dockerfile b/modules/network/dhcp-2/dhcp-2.Dockerfile
index f2426c196..58256813f 100644
--- a/modules/network/dhcp-2/dhcp-2.Dockerfile
+++ b/modules/network/dhcp-2/dhcp-2.Dockerfile
@@ -24,7 +24,7 @@ RUN apt-get update --fix-missing
# Install all necessary packages
RUN apt-get install -y wget
-#Update the oui.txt file from ieee
+# Update the oui.txt file from ieee
RUN wget http://standards-oui.ieee.org/oui.txt -P /usr/local/etc/
# Install dhcp server
diff --git a/modules/network/dhcp-2/python/src/grpc_server/dhcp_server.py b/modules/network/dhcp-2/python/src/grpc_server/dhcp_server.py
index 7aec674f2..2e917417a 100644
--- a/modules/network/dhcp-2/python/src/grpc_server/dhcp_server.py
+++ b/modules/network/dhcp-2/python/src/grpc_server/dhcp_server.py
@@ -30,7 +30,7 @@ def __init__(self):
global LOGGER
LOGGER = logger.get_logger(LOG_NAME, 'dhcp-2')
self.dhcp_config = DHCPConfig()
- self.radvd = RADVDServer()
+ self.radvd = RADVDServer(enabled=False)
self.isc_dhcp = ISCDHCPServer()
self.dhcp_config.resolve_config()
@@ -38,7 +38,7 @@ def restart(self):
LOGGER.info('Restarting DHCP server')
isc_started = self.isc_dhcp.restart()
radvd_started = self.radvd.restart()
- started = isc_started and radvd_started
+ started = isc_started and (radvd_started or not self.radvd.enabled)
LOGGER.info('DHCP server restarted: ' + str(started))
return started
@@ -46,7 +46,7 @@ def start(self):
LOGGER.info('Starting DHCP server')
isc_started = self.isc_dhcp.start()
radvd_started = self.radvd.start()
- started = isc_started and radvd_started
+ started = isc_started and (radvd_started or not self.radvd.enabled)
LOGGER.info('DHCP server started: ' + str(started))
return started
@@ -54,7 +54,7 @@ def stop(self):
LOGGER.info('Stopping DHCP server')
isc_stopped = self.isc_dhcp.stop()
radvd_stopped = self.radvd.stop()
- stopped = isc_stopped and radvd_stopped
+ stopped = isc_stopped and (radvd_stopped or not self.radvd.enabled)
LOGGER.info('DHCP server stopped: ' + str(stopped))
return stopped
@@ -62,7 +62,7 @@ def is_running(self):
LOGGER.info('Checking DHCP server status')
isc_running = self.isc_dhcp.is_running()
radvd_running = self.radvd.is_running()
- running = isc_running and radvd_running
+ running = isc_running and (radvd_running or not self.radvd.enabled)
LOGGER.info('DHCP server status: ' + str(running))
return running
diff --git a/modules/network/dhcp-2/python/src/grpc_server/radvd_server.py b/modules/network/dhcp-2/python/src/grpc_server/radvd_server.py
index 910354e31..1a5e2a312 100644
--- a/modules/network/dhcp-2/python/src/grpc_server/radvd_server.py
+++ b/modules/network/dhcp-2/python/src/grpc_server/radvd_server.py
@@ -22,29 +22,42 @@
class RADVDServer:
"""Represents the RADVD Server"""
- def __init__(self):
+ def __init__(self, enabled=True):
global LOGGER
LOGGER = logger.get_logger(LOG_NAME, 'dhcp-2')
+ self.enabled = enabled
def restart(self):
+ if not self.enabled:
+ LOGGER.info('Cannot restart RADVD server, disabled')
+ return False
LOGGER.info('Restarting RADVD server')
response = util.run_command('radvd-service restart', False)
LOGGER.info('RADVD restarted: ' + str(response))
return response
def start(self):
+ if not self.enabled:
+ LOGGER.info('Cannot start RADVD server, disabled')
+ return False
LOGGER.info('Starting RADVD server')
response = util.run_command('radvd-service start', False)
LOGGER.info('RADVD started: ' + str(response))
return response
def stop(self):
+ if not self.enabled:
+ LOGGER.info('Cannot stop RADVD server, disabled')
+ return False
LOGGER.info('Stopping RADVD server')
response = util.run_command('radvd-service stop', False)
LOGGER.info('RADVD stopped: ' + str(response))
return response
def is_running(self):
+ if not self.enabled:
+ LOGGER.info('RADVD server disabled')
+ return False
LOGGER.info('Checking RADVD status')
response = util.run_command('radvd-service status')
running = response[0] == 'radvd service is running.'
diff --git a/modules/test/conn/conf/module_config.json b/modules/test/conn/conf/module_config.json
index 5253c59f9..b00fa35f7 100644
--- a/modules/test/conn/conf/module_config.json
+++ b/modules/test/conn/conf/module_config.json
@@ -10,7 +10,7 @@
"docker": {
"depends_on": "base",
"enable_container": true,
- "timeout": 600
+ "timeout": 1800
},
"tests": [
{
@@ -37,6 +37,7 @@
"expected_behavior": "The device under test accepts IP addresses within all ranges specified in RFC 1918 and communicates using these addresses. The Internet Assigned Numbers Authority (IANA) has reserved the following three blocks of the IP address space for private internets. 10.0.0.0 - 10.255.255.255.255 (10/8 prefix). 172.16.0.0 - 172.31.255.255 (172.16/12 prefix). 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)",
"required_result": "Required",
"config": {
+ "lease_wait_time_sec": 60,
"ranges": [
{
"start": "10.0.0.100",
@@ -59,6 +60,7 @@
"expected_behavior": "The device under test accepts IP addresses within the ranges specified in RFC 6598 and communicates using these addresses",
"required_result": "Required",
"config": {
+ "lease_wait_time_sec": 60,
"ranges": [
{
"start": "100.64.0.1",
@@ -83,13 +85,19 @@
"name": "connection.ipaddr.ip_change",
"test_description": "The device responds to a ping (ICMP echo request) to the new IP address it has received after the initial DHCP lease has expired.",
"expected_behavior": "If the lease expires before the client receiveds a DHCPACK, the client moves to INIT state, MUST immediately stop any other network processing and requires network initialization parameters as if the client were uninitialized. If the client then receives a DHCPACK allocating the client its previous network addres, the client SHOULD continue network processing. If the client is given a new network address, it MUST NOT continue using the previous network address and SHOULD notify the local users of the problem.",
- "required_result": "Required"
+ "required_result": "Required",
+ "config":{
+ "lease_wait_time_sec": 60
+ }
},
{
"name": "connection.ipaddr.dhcp_failover",
"test_description": "The device has requested a DHCPREQUEST/REBIND to the DHCP failover server after the primary DHCP server has been brought down.",
"expected_behavior": "",
- "required_result": "Required"
+ "required_result": "Required",
+ "config":{
+ "lease_wait_time_sec": 60
+ }
},
{
"name": "connection.ipv6_slaac",
diff --git a/modules/test/conn/conn.Dockerfile b/modules/test/conn/conn.Dockerfile
index 5d8148335..af1921d69 100644
--- a/modules/test/conn/conn.Dockerfile
+++ b/modules/test/conn/conn.Dockerfile
@@ -23,7 +23,7 @@ ARG GRPC_PROTO_FILE="grpc.proto"
# Install all necessary packages
RUN apt-get install -y wget
-#Update the oui.txt file from ieee
+# Update the oui.txt file from ieee
RUN wget http://standards-oui.ieee.org/oui.txt -P /usr/local/etc/
#Load the requirements file
diff --git a/modules/test/conn/python/src/connection_module.py b/modules/test/conn/python/src/connection_module.py
index be8098dd8..3fc0e6765 100644
--- a/modules/test/conn/python/src/connection_module.py
+++ b/modules/test/conn/python/src/connection_module.py
@@ -15,6 +15,7 @@
import util
import time
import datetime
+import traceback
from scapy.all import rdpcap, DHCP, Ether, IPv6, ICMPv6ND_NS
from test_module import TestModule
from dhcp1.client import Client as DHCPClient1
@@ -30,6 +31,10 @@
SLAAC_PREFIX = 'fd10:77be:4186'
TR_CONTAINER_MAC_PREFIX = '9a:02:57:1e:8f:'
+# Should be at least twice as much as the max lease time
+# set in the DHCP server
+LEASE_WAIT_TIME_DEFAULT = 60
+
class ConnectionModule(TestModule):
"""Connection Test module"""
@@ -41,6 +46,7 @@ def __init__(self, module):
self.dhcp1_client = DHCPClient1()
self.dhcp2_client = DHCPClient2()
self._dhcp_util = DHCPUtil(self.dhcp1_client, self.dhcp2_client, LOGGER)
+ self._lease_wait_time_sec = LEASE_WAIT_TIME_DEFAULT
# ToDo: Move this into some level of testing, leave for
# reference until tests are implemented with these calls
@@ -79,16 +85,14 @@ def _connection_shared_address(self, config):
def _connection_dhcp_address(self):
LOGGER.info('Running connection.dhcp_address')
- response = self.dhcp1_client.get_lease(self._device_mac)
- LOGGER.info('DHCP Lease resolved:\n' + str(response))
- if response.code == 200:
- lease = eval(response.message) # pylint: disable=W0123
+ lease = self._dhcp_util.get_cur_lease(mac_address=self._device_mac, timeout=self._lease_wait_time_sec)
+ if lease is not None:
if 'ip' in lease:
ip_addr = lease['ip']
LOGGER.info('IP Resolved: ' + ip_addr)
LOGGER.info('Attempting to ping device...')
ping_success = self._ping(self._device_ipv4_addr)
- LOGGER.info('Ping Success: ' + str(ping_success))
+ LOGGER.debug('Ping success: ' + str(ping_success))
if ping_success:
return True, 'Device responded to leased ip address'
else:
@@ -97,8 +101,8 @@ def _connection_dhcp_address(self):
LOGGER.info('No IP information found in lease: ' + self._device_mac)
return False, 'No IP information found in lease: ' + self._device_mac
else:
- LOGGER.info('Failed to query DHCP Servers for lease information: ' + self._device_mac)
- return False, 'Failed to query DHCP Servers for lease information: ' + self._device_mac
+ LOGGER.info('No DHCP lease could be found: ' + self._device_mac)
+ return False, 'No DHCP lease could be found: ' + self._device_mac
def _connection_mac_address(self):
LOGGER.info('Running connection.mac_address')
@@ -137,9 +141,9 @@ def _connection_single_ip(self):
if DHCP in packet:
for option in packet[DHCP].options:
# message-type, option 3 = DHCPREQUEST
- if 'message-type' in option and option[1] == 3:
+ if 'message-type' in option and option[1] == 3:
mac_address = packet[Ether].src
- LOGGER.info('DHCPREQUEST detected MAC addres: ' + mac_address)
+ LOGGER.info('DHCPREQUEST detected MAC address: ' + mac_address)
if not mac_address.startswith(TR_CONTAINER_MAC_PREFIX):
mac_addresses.add(mac_address.upper())
@@ -172,11 +176,15 @@ def _connection_target_ping(self):
else:
return False, 'Device does not respond to ping'
- def _connection_ipaddr_ip_change(self):
+ def _connection_ipaddr_ip_change(self,config):
result = None
LOGGER.info('Running connection.ipaddr.ip_change')
+ # Resolve the configured lease wait time
+ if 'lease_wait_time_sec' in config:
+ self._lease_wait_time_sec = config['lease_wait_time_sec']
+
if self._dhcp_util.setup_single_dhcp_server():
- lease = self._dhcp_util.get_cur_lease(self._device_mac)
+ lease = self._dhcp_util.get_cur_lease(mac_address=self._device_mac, timeout=self._lease_wait_time_sec)
if lease is not None:
LOGGER.info('Current device lease resolved')
LOGGER.debug(str(lease))
@@ -190,7 +198,7 @@ def _connection_ipaddr_ip_change(self):
LOGGER.info('Pinging device at IP: ' + ip_address)
if self._ping(ip_address):
LOGGER.debug('Ping success')
- LOGGER.info('Reserved lease confirmed active in device')
+ LOGGER.debug('Reserved lease confirmed active in device')
result = True, 'Device has accepted an IP address change'
LOGGER.debug('Restoring DHCP failover configuration')
break
@@ -208,23 +216,28 @@ def _connection_ipaddr_ip_change(self):
self._dhcp_util.restore_failover_dhcp_server()
LOGGER.info('Waiting 30 seconds for reserved lease to expire')
time.sleep(30)
- self._dhcp_util.get_new_lease(self._device_mac)
+ self._dhcp_util.get_cur_lease(mac_address=self._device_mac,timeout=self._lease_wait_time_sec)
else:
result = None, 'Failed to configure network for test'
return result
- def _connection_ipaddr_dhcp_failover(self):
+ def _connection_ipaddr_dhcp_failover(self,config):
result = None
+ LOGGER.info('Running connection.ipaddr.dhcp_failover')
+
+ # Resolve the configured lease wait time
+ if 'lease_wait_time_sec' in config:
+ self._lease_wait_time_sec = config['lease_wait_time_sec']
+
# Confirm that both servers are online
primary_status = self._dhcp_util.get_dhcp_server_status(
dhcp_server_primary=True)
secondary_status = self._dhcp_util.get_dhcp_server_status(
dhcp_server_primary=False)
if primary_status and secondary_status:
- lease = self._dhcp_util.get_cur_lease(self._device_mac)
+ lease = self._dhcp_util.get_cur_lease(mac_address=self._device_mac, timeout=self._lease_wait_time_sec)
if lease is not None:
LOGGER.info('Current device lease resolved')
- LOGGER.debug(str(lease))
if self._dhcp_util.is_lease_active(lease):
# Shutdown the primary server
if self._dhcp_util.stop_dhcp_server(dhcp_server_primary=True):
@@ -232,16 +245,15 @@ def _connection_ipaddr_dhcp_failover(self):
self._dhcp_util.wait_for_lease_expire(lease)
# Make sure the device has received a new lease from the
# secondary server
- if self._dhcp_util.get_new_lease(self._device_mac,
- dhcp_server_primary=False):
+ if self._dhcp_util.get_cur_lease(mac_address=self._device_mac,timeout=self._lease_wait_time_sec):
if self._dhcp_util.is_lease_active(lease):
result = True, ('Secondary DHCP server lease confirmed active '
- 'in device')
+ 'in device')
else:
result = False, 'Could not validate lease is active in device'
else:
result = False, ('Device did not recieve a new lease from '
- 'secondary DHCP server')
+ 'secondary DHCP server')
self._dhcp_util.start_dhcp_server(dhcp_server_primary=True)
else:
result = None, 'Failed to shutdown primary DHCP server'
@@ -282,7 +294,9 @@ def _connection_ipv6_slaac(self):
return result
def _has_slaac_addres(self):
- packet_capture = rdpcap(DHCP_CAPTURE_FILE)
+ packet_capture = (rdpcap(STARTUP_CAPTURE_FILE)
+ + rdpcap(MONITOR_CAPTURE_FILE)
+ + rdpcap(DHCP_CAPTURE_FILE))
sends_ipv6 = False
for packet_number, packet in enumerate(packet_capture, start=1):
if IPv6 in packet and packet.src == self._device_mac:
@@ -291,7 +305,8 @@ def _has_slaac_addres(self):
ipv6_addr = str(packet[ICMPv6ND_NS].tgt)
if ipv6_addr.startswith(SLAAC_PREFIX):
self._device_ipv6_addr = ipv6_addr
- LOGGER.info(f"SLAAC address detected at packet number {packet_number}")
+ LOGGER.info('SLAAC address detected at packet number' +
+ f'{packet_number}')
LOGGER.info(f'Device has formed SLAAC address {ipv6_addr}')
return True, sends_ipv6
return False, sends_ipv6
@@ -305,7 +320,8 @@ def _connection_ipv6_ping(self):
else:
if self._ping(self._device_ipv6_addr, ipv6=True):
LOGGER.info(f'Device responds to IPv6 ping on {self._device_ipv6_addr}')
- result = True, f'Device responds to IPv6 ping on {self._device_ipv6_addr}'
+ result = True, ('Device responds to IPv6 ping on ' +
+ f'{self._device_ipv6_addr}')
else:
LOGGER.info('Device does not respond to IPv6 ping')
result = False, 'Device does not respond to IPv6 ping'
@@ -349,11 +365,18 @@ def setup_single_dhcp_server(self):
response = self.dhcp2_client.get_status()
if response.code == 200:
LOGGER.info('Secondary DHCP server stopped')
+ LOGGER.info('Configuring primary DHCP server')
+ # Move primary DHCP server from failover into a single DHCP server config
+ response = self.dhcp1_client.disable_failover()
+ if response.code == 200:
+ LOGGER.info('Primary DHCP server failover disabled')
+ else:
+ return False, 'Failed to disable primary DHCP server failover'
return True, 'Single DHCP server configured'
else:
- return False, 'DHCP server still running'
+ return False, 'Secondary DHCP server still running'
else:
- return False, 'DHCP server stop command failed'
+ return False, 'Secondary DHCP server stop command failed'
def enable_failover(self):
# Move primary DHCP server to primary failover
@@ -385,6 +408,10 @@ def _run_subnet_test(self, config):
LOGGER.error('No subnet ranges configured for test. Skipping')
return None, 'No subnet ranges configured for test'
+ # Resolve the configured lease wait time
+ if 'lease_wait_time_sec' in config:
+ self._lease_wait_time_sec = config['lease_wait_time_sec']
+
response = self.dhcp1_client.get_dhcp_range()
cur_range = {}
if response.code == 200:
@@ -401,20 +428,9 @@ def _run_subnet_test(self, config):
dhcp_setup = self.setup_single_dhcp_server()
if dhcp_setup[0]:
LOGGER.info(dhcp_setup[1])
- # Lease timing could be in a state where
- # is is currently reneweing so we want to
- # pad a few tries to make sure we don't
- # miss a valid lease state
- for _ in range(5):
- lease = self._get_cur_lease()
- if lease is not None:
- break
- else:
- LOGGER.debug("Lease not found")
- time.sleep(5)
-
+ lease = self._dhcp_util.get_cur_lease(mac_address=self._device_mac, timeout=self._lease_wait_time_sec)
if lease is not None:
- if self._is_lease_active(lease):
+ if self._dhcp_util.is_lease_active(lease):
results = self.test_subnets(ranges)
else:
LOGGER.info("Failed to confirm a valid active lease for the device")
@@ -430,7 +446,8 @@ def _run_subnet_test(self, config):
if final_result is None:
final_result = result['result']
else:
- final_result &= result['result']
+ if result['result'] is not None:
+ final_result &= result['result']
if result['result']:
final_result_details += result['details'] + '\n'
@@ -442,24 +459,22 @@ def _run_subnet_test(self, config):
self.restore_failover_dhcp_server(cur_range)
# Wait for the current lease to expire
- self._wait_for_lease_expire(self._get_cur_lease())
+ self._wait_for_lease_expire(self._dhcp_util.get_cur_lease(
+ self._device_mac,timeout=self._lease_wait_time_sec))
# Wait for a new lease to be provided before exiting test
# to prevent other test modules from failing
- for _ in range(5):
- LOGGER.info('Checking for new lease')
- lease = self._get_cur_lease()
- if lease is not None:
- LOGGER.info('New lease found')
- LOGGER.debug(str(lease))
- LOGGER.info('Validating subnet for new lease...')
- in_range = self.is_ip_in_range(lease['ip'], cur_range['start'],
- cur_range['end'])
- LOGGER.debug('Lease within subnet: ' + str(in_range))
- break
- else:
- LOGGER.info('New lease not found. Waiting to check again')
- time.sleep(5)
+ LOGGER.info('Checking for new lease')
+ # Subnet changes tend to take longer to pick up so we'll allow
+ # for twice the lease wait time
+ lease = self._dhcp_util.get_cur_lease(mac_address=self._device_mac,timeout=2*self._lease_wait_time_sec)
+ if lease is not None:
+ LOGGER.info('Validating subnet for new lease...')
+ in_range = self.is_ip_in_range(lease['ip'], cur_range['start'],
+ cur_range['end'])
+ LOGGER.debug('Lease within subnet: ' + str(in_range))
+ else:
+ LOGGER.info('New lease not found. Waiting to check again')
except Exception as e: # pylint: disable=W0718
LOGGER.error('Failed to restore DHCP server configuration: ' + str(e))
@@ -467,6 +482,7 @@ def _run_subnet_test(self, config):
return final_result, final_result_details
def _test_subnet(self, subnet, lease):
+ LOGGER.info("Testing subnet: " + str(subnet))
if self._change_subnet(subnet):
expiration = datetime.datetime.strptime(
lease['expires'], '%Y-%m-%d %H:%M:%S')
@@ -479,19 +495,20 @@ def _test_subnet(self, subnet, lease):
# Wait until the expiration time and add 5 seconds
time.sleep(time_to_expire + 5)
LOGGER.debug('Current lease expired. Checking for new lease')
- for _ in range(5):
- LOGGER.debug('Checking for new lease')
- lease = self._get_cur_lease()
- if lease is not None:
- LOGGER.debug('New lease found: ' + str(lease))
- LOGGER.debug('Validating subnet for new lease...')
- in_range = self.is_ip_in_range(lease['ip'], subnet['start'],
- subnet['end'])
- LOGGER.info('Lease within subnet: ' + str(in_range))
- return in_range
- else:
- LOGGER.info('New lease not found. Waiting to check again')
- time.sleep(5)
+ LOGGER.debug('Checking for new lease')
+ # Subnet changes tend to take longer to pick up so we'll allow
+ # for twice the lease wait time
+ lease = self._dhcp_util.get_cur_lease(mac_address=self._device_mac,timeout=2*self._lease_wait_time_sec)
+ if lease is not None:
+ LOGGER.debug('New lease found: ' + str(lease))
+ LOGGER.debug('Validating subnet for new lease...')
+ in_range = self.is_ip_in_range(lease['ip'], subnet['start'],
+ subnet['end'])
+ LOGGER.info('Lease within subnet: ' + str(in_range))
+ return in_range
+ else:
+ LOGGER.info('Device did not receive lease in subnet')
+ return False
else:
LOGGER.error('Failed to change subnet')
@@ -521,32 +538,13 @@ def _change_subnet(self, subnet):
LOGGER.debug('Subnet change request failed.')
return False
- def _get_cur_lease(self):
- LOGGER.info('Checking current device lease')
- response = self.dhcp1_client.get_lease(self._device_mac)
- if response.code == 200:
- lease = eval(response.message) # pylint: disable=W0123
- if lease: # Check if non-empty lease
- return lease
- else:
- return None
-
- def _is_lease_active(self, lease):
- if 'ip' in lease:
- ip_addr = lease['ip']
- LOGGER.info('Lease IP resolved: ' + ip_addr)
- LOGGER.info('Attempting to ping device...')
- ping_success = self._ping(self._device_ipv4_addr)
- LOGGER.debug('Ping success: ' + str(ping_success))
- LOGGER.debug('Current lease confirmed active in device')
- return ping_success
-
def test_subnets(self, subnets):
results = []
for subnet in subnets:
result = {}
try:
- lease = self._get_cur_lease()
+ lease = self._dhcp_util.get_cur_lease(mac_address=self._device_mac,
+ timeout=self._lease_wait_time_sec)
if lease is not None:
result = self._test_subnet(subnet, lease)
if result:
@@ -565,11 +563,15 @@ def test_subnets(self, subnets):
}
else:
result = {
- 'result': None,
- 'details': 'Device does not have active lease, cannot test subnet change. ' +
+ 'result':
+ None,
+ 'details':
+ 'Device does not have active lease, cannot test subnet change. ' +
'Subnet ' + subnet['start'] + '-' + subnet['end'] + ' skipped'
}
except Exception as e: # pylint: disable=W0718
+ LOGGER.error('Subnet test failed: ' + str(e))
+ LOGGER.error(traceback.format_exc())
result = {'result': False, 'details': 'Subnet test failed: ' + str(e)}
results.append(result)
return results
\ No newline at end of file
diff --git a/modules/test/conn/python/src/dhcp_util.py b/modules/test/conn/python/src/dhcp_util.py
index 0fa5a80a3..6d063d62a 100644
--- a/modules/test/conn/python/src/dhcp_util.py
+++ b/modules/test/conn/python/src/dhcp_util.py
@@ -21,6 +21,7 @@
LOG_NAME = 'dhcp_util'
LOGGER = None
+
class DHCPUtil():
"""Helper class for various tests concerning DHCP behavior"""
@@ -109,36 +110,77 @@ def stop_dhcp_server(self, dhcp_server_primary=True):
return False
def get_dhcp_server_status(self, dhcp_server_primary=True):
- LOGGER.info('Checking DHCP server status')
+ server_name = 'primary' if dhcp_server_primary else 'secondary'
+ LOGGER.debug(f'Checking {server_name} DHCP server status')
response = self.get_dhcp_client(dhcp_server_primary).get_status()
if response.code == 200:
- LOGGER.info('DHCP server status: ' + str(response.message))
+ LOGGER.debug(f'DHCP {server_name} server status: {response.message}')
status = eval(response.message) # pylint: disable=W0123
return status['dhcpStatus']
else:
return False
- def get_cur_lease(self, mac_address, dhcp_server_primary=True):
- LOGGER.info('Checking current device lease')
- response = self.get_dhcp_client(dhcp_server_primary).get_lease(mac_address)
- if response.code == 200:
- lease = eval(response.message) # pylint: disable=W0123
- if lease: # Check if non-empty lease
+ def get_cur_lease(self, mac_address, timeout):
+ """
+ Retrieve the current lease for a given MAC address with retries.
+
+ Args:
+ mac_address (str): The MAC address of the client whose lease is being queried.
+ timeout (int): The maximum time (in seconds) to wait for a lease to be found.
+
+ Returns:
+ str or None: The lease information as a string if found, or None if no lease is found within the timeout.
+
+ Note:
+ This method will attempt to query both primary and secondary DHCP servers for the lease,
+ with a 5-second pause between retries until the `timeout` is reached.
+ """
+ LOGGER.info('Resolving current lease with max wait time of ' + str(timeout) + ' seconds')
+ start_time = time.time()
+
+ while True:
+ lease = self._get_cur_lease(mac_address)
+ if lease is not None or (time.time() - start_time) >= timeout:
return lease
+ time.sleep(5)
+
+ def _get_cur_lease(self, mac_address):
+ """
+ Retrieve the current lease for a given MAC address from both primary and secondary DHCP servers.
+
+ Args:
+ mac_address (str): The MAC address of the client whose lease is being queried.
+
+ Returns:
+ str or None: The lease information as a string if found, or None if no lease is found.
+ """
+ primary = False
+ lease = self._get_cur_lease_from_server(mac_address=mac_address,
+ dhcp_server_primary=True)
+ if lease is not None:
+ primary=True
else:
- return None
+ lease = self._get_cur_lease_from_server(mac_address=mac_address,
+ dhcp_server_primary=False)
+ if lease is not None:
+ lease['primary']=primary
+ log_msg = 'DHCP lease resolved from '
+ log_msg += 'primary' if lease['primary'] else 'secondary'
+ log_msg += ' server'
+ LOGGER.info(log_msg)
+ LOGGER.info('DHCP Lease resolved:\n' + str(lease))
+ return lease
- def get_new_lease(self, mac_address, dhcp_server_primary=True):
+ def _get_cur_lease_from_server(self, mac_address, dhcp_server_primary=True):
lease = None
- for _ in range(5):
- LOGGER.info('Checking for new lease')
- if lease is None:
- lease = self.get_cur_lease(mac_address,dhcp_server_primary)
- LOGGER.info('New lease found: ' + str(lease))
- break
- else:
- LOGGER.info('New lease not found. Waiting to check again')
- time.sleep(5)
+ # Check if the server is online first, old lease files can still return
+ # lease information that is no longer valid when a dhcp server is shutdown
+ if self.get_dhcp_server_status(dhcp_server_primary):
+ response = self.get_dhcp_client(dhcp_server_primary).get_lease(mac_address)
+ if response.code == 200:
+ lease_resp = eval(response.message) # pylint: disable=W0123
+ if lease_resp: # Check if non-empty lease
+ lease = lease_resp
return lease
def is_lease_active(self, lease):
diff --git a/modules/test/dns/conf/module_config.json b/modules/test/dns/conf/module_config.json
index a30e28077..9cff229c4 100644
--- a/modules/test/dns/conf/module_config.json
+++ b/modules/test/dns/conf/module_config.json
@@ -23,12 +23,6 @@
"test_description": "Verify the device allows for a DNS server to be entered automatically",
"expected_behavior": "The device sends DNS requests to the DNS server provided by the DHCP server",
"required_result": "Roadmap"
- },
- {
- "name": "dns.mdns",
- "test_description": "If the device has MDNS (or any kind of IP multicast), can it be disabled",
- "expected_behavior": "Device may send MDNS requests",
- "required_result": "Recommended"
}
]
}
diff --git a/modules/test/nmap/python/src/nmap_module.py b/modules/test/nmap/python/src/nmap_module.py
index 6f684c2ef..3f5371d98 100644
--- a/modules/test/nmap/python/src/nmap_module.py
+++ b/modules/test/nmap/python/src/nmap_module.py
@@ -165,12 +165,12 @@ def _check_results(self, ports, services):
open_port_info["tcp_udp"])
if (open_port_info["service"] in services and
- (open_port + "/" + open_port_info["tcp_udp"]) not in match_ports and
+ (open_port_info["number"] + "/" + open_port_info["tcp_udp"]
+ ) not in match_ports and
open_port_info["state"] == "open"):
LOGGER.debug("Found service " + open_port_info["service"] +
" on port " + str(open_port) + "/" +
open_port_info["tcp_udp"])
-
if not allowed:
match_ports.append(open_port_info["number"] + "/" +
open_port_info["tcp_udp"])
@@ -193,7 +193,8 @@ def _security_services_telnet(self, config):
if len(open_ports) == 0:
return True, "No telnet server found"
else:
- return False, f"Found telnet server running on port {', '.join(open_ports)}"
+ return (False,
+ f"Found telnet server running on port {', '.join(open_ports)}")
def _security_services_smtp(self, config):
LOGGER.info("Running security.services.smtp")
@@ -281,4 +282,5 @@ def _security_ssh_version(self, config):
if config["version"] in open_port_info["version"]:
return True, f"SSH server found running {open_port_info['version']}"
else:
- return False, f"SSH server found running {open_port_info['version']}"
+ return (False,
+ f"SSH server found running {open_port_info['version']}")
diff --git a/modules/test/ntp/python/src/ntp_module.py b/modules/test/ntp/python/src/ntp_module.py
index 6a577d1a6..0e7de00ec 100644
--- a/modules/test/ntp/python/src/ntp_module.py
+++ b/modules/test/ntp/python/src/ntp_module.py
@@ -13,7 +13,7 @@
# limitations under the License.
"""NTP test module"""
from test_module import TestModule
-from scapy.all import rdpcap, NTP, IP
+from scapy.all import rdpcap, NTP, IP, IPv6
LOG_NAME = 'test_ntp'
NTP_SERVER_CAPTURE_FILE = '/runtime/network/ntp.pcap'
@@ -44,12 +44,16 @@ def _ntp_network_ntp_support(self):
for packet in packet_capture:
if NTP in packet and packet.src == self._device_mac:
+ if IP in packet:
+ dest_ip = packet[IP].dst
+ elif IPv6 in packet:
+ dest_ip = packet[IPv6].dst
if packet[NTP].version == 4:
device_sends_ntp4 = True
- LOGGER.info(f'Device sent NTPv4 request to {packet[IP].dst}')
+ LOGGER.info(f'Device sent NTPv4 request to {dest_ip}')
elif packet[NTP].version == 3:
device_sends_ntp3 = True
- LOGGER.info(f'Device sent NTPv3 request to {packet[IP].dst}')
+ LOGGER.info(f'Device sent NTPv3 request to {dest_ip}')
if not (device_sends_ntp3 or device_sends_ntp4):
result = False, 'Device has not sent any NTP requests'
@@ -76,7 +80,11 @@ def _ntp_network_ntp_dhcp(self):
for packet in packet_capture:
if NTP in packet and packet.src == self._device_mac:
device_sends_ntp = True
- if packet[IP].dst == self._ntp_server:
+ if IP in packet:
+ dest_ip = packet[IP].dst
+ elif IPv6 in packet:
+ dest_ip = packet[IPv6].dst
+ if dest_ip == self._ntp_server:
LOGGER.info('Device sent NTP request to DHCP provided NTP server')
ntp_to_local = True
else:
diff --git a/modules/test/tls/conf/module_config.json b/modules/test/tls/conf/module_config.json
index 194d1198c..c5b1283eb 100644
--- a/modules/test/tls/conf/module_config.json
+++ b/modules/test/tls/conf/module_config.json
@@ -18,23 +18,11 @@
"expected_behavior": "TLS 1.2 certificate is issued to the web browser client when accessed",
"required_result": "Required"
},
- {
- "name": "security.tls.v1_3_server",
- "test_description": "Check the device web server TLS 1.3 & certificate is valid",
- "expected_behavior": "TLS 1.3 certificate is issued to the web browser client when accessed",
- "required_result": "Recommended"
- },
{
"name": "security.tls.v1_2_client",
"test_description": "Device uses TLS with connection to an external service on port 443 (or any other port which could be running the webserver-HTTPS)",
"expected_behavior": "The packet indicates a TLS connection with at least TLS 1.2 and support for ECDH and ECDSA ciphers",
"required_result": "Required"
- },
- {
- "name": "security.tls.v1_3_client",
- "test_description": "Device uses TLS with connection to an external service on port 443 (or any other port which could be running the webserver-HTTPS)",
- "expected_behavior": "The packet indicates a TLS connection with at least TLS 1.3",
- "required_result": "Recommended"
}
]
}
diff --git a/modules/test/tls/python/src/tls_util.py b/modules/test/tls/python/src/tls_util.py
index 2cb7011cd..ff7a79c44 100644
--- a/modules/test/tls/python/src/tls_util.py
+++ b/modules/test/tls/python/src/tls_util.py
@@ -380,8 +380,8 @@ def validate_tls_client(self, client_ip, tls_version, capture_file):
tls_client_details += 'Completed handshake detected from server: '
tls_client_details += result + '\n'
else:
- LOGGER.info('No client hello packets detected. Skipping')
- tls_client_details = 'No client hello packets detected. Skipping'
+ LOGGER.info('No client hello packets detected')
+ tls_client_details = 'No client hello packets detected'
return tls_client_valid, tls_client_details
def is_ecdh_and_ecdsa(self, ciphers):
diff --git a/modules/ui/.eslintrc.json b/modules/ui/.eslintrc.json
new file mode 100644
index 000000000..fd4ffce00
--- /dev/null
+++ b/modules/ui/.eslintrc.json
@@ -0,0 +1,50 @@
+{
+ "root": true,
+ "ignorePatterns": ["projects/**/*"],
+ "overrides": [
+ {
+ "files": ["*.ts"],
+ "extends": [
+ "eslint:recommended",
+ "plugin:@typescript-eslint/recommended",
+ "plugin:@angular-eslint/recommended",
+ "plugin:@angular-eslint/template/process-inline-templates",
+ "plugin:prettier/recommended"
+ ],
+ "rules": {
+ "@angular-eslint/directive-selector": [
+ "error",
+ {
+ "type": "attribute",
+ "prefix": "app",
+ "style": "camelCase"
+ }
+ ],
+ "@angular-eslint/component-selector": [
+ "error",
+ {
+ "type": "element",
+ "prefix": "app",
+ "style": "kebab-case"
+ }
+ ]
+ }
+ },
+ {
+ "files": ["*.html"],
+ "extends": [
+ "plugin:@angular-eslint/template/recommended",
+ "plugin:@angular-eslint/template/accessibility",
+ "plugin:prettier/recommended"
+ ],
+ "rules": {
+ "prettier/prettier": [
+ "error",
+ {
+ "parser": "angular"
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/modules/ui/.gitignore b/modules/ui/.gitignore
index 57fa6bf61..d53004b88 100644
--- a/modules/ui/.gitignore
+++ b/modules/ui/.gitignore
@@ -1,7 +1,3 @@
-node_modules/
-.angular/
-dist/
-
# See http://help.github.com/ignore-files/ for more about ignoring files.
# Compiled output
@@ -17,6 +13,7 @@ yarn-error.log
# IDEs and editors
.idea/
+!.idea/copyright
.project
.classpath
.c9/
@@ -43,4 +40,4 @@ testem.log
# System files
.DS_Store
-Thumbs.db
\ No newline at end of file
+Thumbs.db
diff --git a/modules/ui/.prettierignore b/modules/ui/.prettierignore
new file mode 100644
index 000000000..d53004b88
--- /dev/null
+++ b/modules/ui/.prettierignore
@@ -0,0 +1,43 @@
+# See http://help.github.com/ignore-files/ for more about ignoring files.
+
+# Compiled output
+/dist
+/tmp
+/out-tsc
+/bazel-out
+
+# Node
+/node_modules
+npm-debug.log
+yarn-error.log
+
+# IDEs and editors
+.idea/
+!.idea/copyright
+.project
+.classpath
+.c9/
+*.launch
+.settings/
+*.sublime-workspace
+
+# Visual Studio Code
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+.history/*
+
+# Miscellaneous
+/.angular/cache
+.sass-cache/
+/connect.lock
+/coverage
+/libpeerconnection.log
+testem.log
+/typings
+
+# System files
+.DS_Store
+Thumbs.db
diff --git a/modules/ui/.prettierrc.json b/modules/ui/.prettierrc.json
new file mode 100644
index 000000000..33508a36a
--- /dev/null
+++ b/modules/ui/.prettierrc.json
@@ -0,0 +1,12 @@
+{
+ "tabWidth": 2,
+ "useTabs": false,
+ "singleQuote": true,
+ "semi": true,
+ "bracketSpacing": true,
+ "arrowParens": "avoid",
+ "trailingComma": "es5",
+ "bracketSameLine": true,
+ "printWidth": 80,
+ "endOfLine": "auto"
+}
diff --git a/modules/ui/README.md b/modules/ui/README.md
new file mode 100644
index 000000000..cef441386
--- /dev/null
+++ b/modules/ui/README.md
@@ -0,0 +1,27 @@
+# TestRunUi
+
+This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.3.
+
+## Development server
+
+Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
+
+## Code scaffolding
+
+Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
+
+## Build
+
+Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
+
+## Running unit tests
+
+Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
+
+## Running end-to-end tests
+
+Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
+
+## Further help
+
+To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
diff --git a/modules/ui/angular.json b/modules/ui/angular.json
index 90a6df04c..d72fee51f 100644
--- a/modules/ui/angular.json
+++ b/modules/ui/angular.json
@@ -20,18 +20,11 @@
"outputPath": "dist",
"index": "src/index.html",
"main": "src/main.ts",
- "polyfills": [
- "zone.js"
- ],
+ "polyfills": ["zone.js"],
"tsConfig": "tsconfig.app.json",
"inlineStyleLanguage": "scss",
- "assets": [
- "src/favicon.ico",
- "src/assets"
- ],
- "styles": [
- "src/styles.scss"
- ],
+ "assets": ["src/favicon.ico", "src/assets"],
+ "styles": ["src/styles.scss"],
"scripts": []
},
"configurations": {
@@ -40,11 +33,11 @@
{
"type": "initial",
"maximumWarning": "1000kb",
- "maximumError": "2000kb"
+ "maximumError": "3000kb"
},
{
"type": "anyComponentStyle",
- "maximumWarning": "2kb",
+ "maximumWarning": "3kb",
"maximumError": "4kb"
}
],
@@ -82,26 +75,24 @@
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
- "polyfills": [
- "zone.js",
- "zone.js/testing"
- ],
+ "polyfills": ["zone.js", "zone.js/testing"],
"tsConfig": "tsconfig.spec.json",
"inlineStyleLanguage": "scss",
- "assets": [
- "src/favicon.ico",
- "src/assets"
- ],
- "styles": [
- "src/styles.scss"
- ],
+ "assets": ["src/favicon.ico", "src/assets"],
+ "styles": ["src/styles.scss"],
"scripts": []
}
+ },
+ "lint": {
+ "builder": "@angular-eslint/builder:lint",
+ "options": {
+ "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
+ }
}
}
}
},
"cli": {
- "analytics": false
+ "schematicCollections": ["@angular-eslint/schematics"]
}
}
diff --git a/modules/ui/conf/nginx.conf b/modules/ui/conf/nginx.conf
deleted file mode 100644
index ade6ad17a..000000000
--- a/modules/ui/conf/nginx.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-events{}
-http {
- include /etc/nginx/mime.types;
- server {
- listen 80;
- server_name localhost;
- root /usr/share/nginx/html;
- index index.html;
- location / {
- try_files $uri $uri/ /index.html;
- }
- }
-}
\ No newline at end of file
diff --git a/modules/ui/package-lock.json b/modules/ui/package-lock.json
index e07c4fd91..8e90d3a71 100644
--- a/modules/ui/package-lock.json
+++ b/modules/ui/package-lock.json
@@ -8,34 +8,56 @@
"name": "test-run-ui",
"version": "0.0.0",
"dependencies": {
- "@angular/animations": "^16.1.0",
- "@angular/cdk": "^16.1.4",
- "@angular/common": "^16.1.0",
- "@angular/compiler": "^16.1.0",
- "@angular/core": "^16.1.0",
- "@angular/forms": "^16.1.0",
- "@angular/material": "^16.1.4",
- "@angular/platform-browser": "^16.1.0",
- "@angular/platform-browser-dynamic": "^16.1.0",
- "@angular/router": "^16.1.0",
+ "@angular/animations": "^16.2.10",
+ "@angular/cdk": "^16.2.9",
+ "@angular/common": "^16.2.10",
+ "@angular/compiler": "^16.2.10",
+ "@angular/core": "^16.2.10",
+ "@angular/forms": "^16.2.10",
+ "@angular/material": "^16.2.9",
+ "@angular/platform-browser": "^16.2.10",
+ "@angular/platform-browser-dynamic": "^16.2.10",
+ "@angular/router": "^16.2.10",
+ "ngx-mask": "^16.3.9",
"rxjs": "~7.8.0",
- "tslib": "^2.3.0",
- "zone.js": "~0.13.0"
+ "tslib": "^2.6.2",
+ "zone.js": "~0.13.3"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^16.1.3",
- "@angular/cli": "~16.1.3",
- "@angular/compiler-cli": "^16.1.0",
- "@types/jasmine": "~4.3.0",
+ "@angular-devkit/build-angular": "^16.2.6",
+ "@angular-eslint/builder": "16.2.0",
+ "@angular-eslint/eslint-plugin": "16.2.0",
+ "@angular-eslint/eslint-plugin-template": "16.2.0",
+ "@angular-eslint/schematics": "16.2.0",
+ "@angular-eslint/template-parser": "16.2.0",
+ "@angular/cli": "~16.1.8",
+ "@angular/compiler-cli": "^16.2.10",
+ "@types/jasmine": "~4.3.6",
+ "@typescript-eslint/eslint-plugin": "5.62.0",
+ "@typescript-eslint/parser": "5.62.0",
+ "eslint": "^8.49.0",
+ "eslint-config-prettier": "^9.0.0",
+ "eslint-plugin-prettier": "^5.0.1",
"jasmine-core": "~4.6.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
+ "prettier": "^3.0.3",
+ "prettier-eslint": "^16.1.1",
"typescript": "~5.1.3"
}
},
+ "node_modules/@aashutoshrathi/word-wrap": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
+ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/@ampproject/remapping": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
@@ -50,12 +72,12 @@
}
},
"node_modules/@angular-devkit/architect": {
- "version": "0.1601.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.3.tgz",
- "integrity": "sha512-HvW51cCEoIYe2mYqcmnm2RZiMMFbFn7iIdsjbCJe7etFhcG+Y3hGDZMh4IFSiQiss+pwPSYOvQY2zwGrndMgLw==",
+ "version": "0.1602.6",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.6.tgz",
+ "integrity": "sha512-b1NNV3yNg6Rt86ms20bJIroWUI8ihaEwv5k+EoijEXLoMs4eNs5PhqL+QE8rTj+q9pa1gSrWf2blXor2JGwf1g==",
"dev": true,
"dependencies": {
- "@angular-devkit/core": "16.1.3",
+ "@angular-devkit/core": "16.2.6",
"rxjs": "7.8.1"
},
"engines": {
@@ -65,40 +87,40 @@
}
},
"node_modules/@angular-devkit/build-angular": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.1.3.tgz",
- "integrity": "sha512-1scrdUdKRa9TkJ9jev/KRzFttbLUVACQvVRL0G67nUAdtJ/bQX8eui85axpCNPFihK4ReSW3R4lrgcVC2NUSoA==",
+ "version": "16.2.6",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.6.tgz",
+ "integrity": "sha512-QdU/q77K1P8CPEEZGxw1QqLcnA9ofboDWS7vcLRBmFmk2zydtLTApbK0P8GNDRbnmROOKkoaLo+xUTDJz9gvPA==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "2.2.1",
- "@angular-devkit/architect": "0.1601.3",
- "@angular-devkit/build-webpack": "0.1601.3",
- "@angular-devkit/core": "16.1.3",
- "@babel/core": "7.22.5",
- "@babel/generator": "7.22.5",
+ "@angular-devkit/architect": "0.1602.6",
+ "@angular-devkit/build-webpack": "0.1602.6",
+ "@angular-devkit/core": "16.2.6",
+ "@babel/core": "7.22.9",
+ "@babel/generator": "7.22.9",
"@babel/helper-annotate-as-pure": "7.22.5",
- "@babel/helper-split-export-declaration": "7.22.5",
+ "@babel/helper-split-export-declaration": "7.22.6",
"@babel/plugin-proposal-async-generator-functions": "7.20.7",
"@babel/plugin-transform-async-to-generator": "7.22.5",
- "@babel/plugin-transform-runtime": "7.22.5",
- "@babel/preset-env": "7.22.5",
- "@babel/runtime": "7.22.5",
+ "@babel/plugin-transform-runtime": "7.22.9",
+ "@babel/preset-env": "7.22.9",
+ "@babel/runtime": "7.22.6",
"@babel/template": "7.22.5",
"@discoveryjs/json-ext": "0.5.7",
- "@ngtools/webpack": "16.1.3",
+ "@ngtools/webpack": "16.2.6",
"@vitejs/plugin-basic-ssl": "1.0.1",
"ansi-colors": "4.1.3",
"autoprefixer": "10.4.14",
- "babel-loader": "9.1.2",
+ "babel-loader": "9.1.3",
"babel-plugin-istanbul": "6.1.1",
"browserslist": "^4.21.5",
- "cacache": "17.1.3",
"chokidar": "3.5.3",
"copy-webpack-plugin": "11.0.0",
- "critters": "0.0.19",
+ "critters": "0.0.20",
"css-loader": "6.8.1",
- "esbuild-wasm": "0.17.19",
- "fast-glob": "3.2.12",
+ "esbuild-wasm": "0.18.17",
+ "fast-glob": "3.3.1",
+ "guess-parser": "0.4.22",
"https-proxy-agent": "5.0.1",
"inquirer": "8.2.4",
"jsonc-parser": "3.2.0",
@@ -107,31 +129,31 @@
"less-loader": "11.1.0",
"license-webpack-plugin": "4.0.2",
"loader-utils": "3.2.1",
- "magic-string": "0.30.0",
+ "magic-string": "0.30.1",
"mini-css-extract-plugin": "2.7.6",
"mrmime": "1.0.1",
"open": "8.4.2",
"ora": "5.4.1",
"parse5-html-rewriting-stream": "7.0.0",
"picomatch": "2.3.1",
- "piscina": "3.2.0",
- "postcss": "8.4.24",
- "postcss-loader": "7.3.2",
+ "piscina": "4.0.0",
+ "postcss": "8.4.31",
+ "postcss-loader": "7.3.3",
"resolve-url-loader": "5.0.0",
"rxjs": "7.8.1",
- "sass": "1.63.2",
- "sass-loader": "13.3.1",
- "semver": "7.5.3",
+ "sass": "1.64.1",
+ "sass-loader": "13.3.2",
+ "semver": "7.5.4",
"source-map-loader": "4.0.1",
"source-map-support": "0.5.21",
- "terser": "5.17.7",
+ "terser": "5.19.2",
"text-table": "0.2.0",
"tree-kill": "1.2.2",
- "tslib": "2.5.3",
- "vite": "4.3.9",
- "webpack": "5.86.0",
+ "tslib": "2.6.1",
+ "vite": "4.4.7",
+ "webpack": "5.88.2",
"webpack-dev-middleware": "6.1.1",
- "webpack-dev-server": "4.15.0",
+ "webpack-dev-server": "4.15.1",
"webpack-merge": "5.9.0",
"webpack-subresource-integrity": "5.1.0"
},
@@ -141,7 +163,7 @@
"yarn": ">= 1.13.0"
},
"optionalDependencies": {
- "esbuild": "0.17.19"
+ "esbuild": "0.18.17"
},
"peerDependencies": {
"@angular/compiler-cli": "^16.0.0",
@@ -186,199 +208,244 @@
}
}
},
- "node_modules/@angular-devkit/build-angular/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==",
+ "node_modules/@angular-devkit/build-angular/node_modules/tslib": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
+ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==",
+ "dev": true
+ },
+ "node_modules/@angular-devkit/build-webpack": {
+ "version": "0.1602.6",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.6.tgz",
+ "integrity": "sha512-BJPR6xdq7gRJ6bVWnZ81xHyH75j7lyLbegCXbvUNaM8TWVBkwWsSdqr2NQ717dNLLn5umg58SFpU/pWMq6CxMQ==",
"dev": true,
"dependencies": {
- "color-convert": "^2.0.1"
+ "@angular-devkit/architect": "0.1602.6",
+ "rxjs": "7.8.1"
},
"engines": {
- "node": ">=8"
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
},
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "peerDependencies": {
+ "webpack": "^5.30.0",
+ "webpack-dev-server": "^4.0.0"
}
},
- "node_modules/@angular-devkit/build-angular/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "node_modules/@angular-devkit/core": {
+ "version": "16.2.6",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.6.tgz",
+ "integrity": "sha512-iez/8NYXQT6fqVQLlKmZUIRkFUEZ88ACKbTwD4lBmk0+hXW+bQBxI7JOnE3C4zkcM2YeuTXIYsC5SebTKYiR4Q==",
"dev": true,
"dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "ajv": "8.12.0",
+ "ajv-formats": "2.1.1",
+ "jsonc-parser": "3.2.0",
+ "picomatch": "2.3.1",
+ "rxjs": "7.8.1",
+ "source-map": "0.7.4"
},
"engines": {
- "node": ">=10"
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
},
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "peerDependencies": {
+ "chokidar": "^3.5.2"
+ },
+ "peerDependenciesMeta": {
+ "chokidar": {
+ "optional": true
+ }
}
},
- "node_modules/@angular-devkit/build-angular/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==",
+ "node_modules/@angular-devkit/schematics": {
+ "version": "16.1.8",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.1.8.tgz",
+ "integrity": "sha512-6LyzMdFJs337RTxxkI2U1Ndw0CW5mMX/aXWl8d7cW2odiSrAg8IdlMqpc+AM8+CPfsB0FtS1aWkEZqJLT0jHOg==",
"dev": true,
+ "dependencies": {
+ "@angular-devkit/core": "16.1.8",
+ "jsonc-parser": "3.2.0",
+ "magic-string": "0.30.0",
+ "ora": "5.4.1",
+ "rxjs": "7.8.1"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
}
},
- "node_modules/@angular-devkit/build-angular/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==",
+ "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": {
+ "version": "16.1.8",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.8.tgz",
+ "integrity": "sha512-dSRD/+bGanArIXkj+kaU1kDFleZeQMzmBiOXX+pK0Ah9/0Yn1VmY3RZh1zcX9vgIQXV+t7UPrTpOjaERMUtVGw==",
"dev": true,
"dependencies": {
- "color-name": "~1.1.4"
+ "ajv": "8.12.0",
+ "ajv-formats": "2.1.1",
+ "jsonc-parser": "3.2.0",
+ "rxjs": "7.8.1",
+ "source-map": "0.7.4"
},
"engines": {
- "node": ">=7.0.0"
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
+ },
+ "peerDependencies": {
+ "chokidar": "^3.5.2"
+ },
+ "peerDependenciesMeta": {
+ "chokidar": {
+ "optional": true
+ }
}
},
- "node_modules/@angular-devkit/build-angular/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/@angular-devkit/build-angular/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==",
+ "node_modules/@angular-devkit/schematics/node_modules/magic-string": {
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
+ "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
"dev": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.13"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=12"
}
},
- "node_modules/@angular-devkit/build-angular/node_modules/inquirer": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
- "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
+ "node_modules/@angular-eslint/builder": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.2.0.tgz",
+ "integrity": "sha512-SZjXOi3YIjuX2CocuRsR2QH6k1ca9lRO6IMm0YIYMmBPFCRP2KFHkL6aQnXM6DSaymQNN2TXfpuvUd45NxhU1w==",
"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.5.5",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6",
- "wrap-ansi": "^7.0.0"
+ "@nx/devkit": "16.5.1",
+ "nx": "16.5.1"
},
- "engines": {
- "node": ">=12.0.0"
+ "peerDependencies": {
+ "eslint": "^7.20.0 || ^8.0.0",
+ "typescript": "*"
}
},
- "node_modules/@angular-devkit/build-angular/node_modules/mute-stream": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "node_modules/@angular-eslint/bundled-angular-compiler": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.2.0.tgz",
+ "integrity": "sha512-ct9orDYxkMl2+uvM7UBfgV28Dq57V4dEs+Drh7cD673JIMa6sXbgmd0QEtm8W3cmyK/jcTzmuoufxbH7hOxd6g==",
"dev": true
},
- "node_modules/@angular-devkit/build-angular/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==",
+ "node_modules/@angular-eslint/eslint-plugin": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.2.0.tgz",
+ "integrity": "sha512-zdiAIox1T+B71HL+A8m+1jWdU34nvPGLhCRw/uZNwHzknsF4tYzNQ9W7T/SC/g/2s1yT2yNosEVNJSGSFvunJg==",
"dev": true,
- "engines": {
- "node": ">=0.12.0"
+ "dependencies": {
+ "@angular-eslint/utils": "16.2.0",
+ "@typescript-eslint/utils": "5.62.0"
+ },
+ "peerDependencies": {
+ "eslint": "^7.20.0 || ^8.0.0",
+ "typescript": "*"
}
},
- "node_modules/@angular-devkit/build-angular/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==",
+ "node_modules/@angular-eslint/eslint-plugin-template": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.2.0.tgz",
+ "integrity": "sha512-YFdQ6hHX6NlQj0lfogZwfyKjU8pqkJU+Zsk0ehjlXP8VfKFVmDeQT5/Xr6Df9C8pveC3hvq6Jgd8vo67S9Enxg==",
"dev": true,
"dependencies": {
- "has-flag": "^4.0.0"
+ "@angular-eslint/bundled-angular-compiler": "16.2.0",
+ "@angular-eslint/utils": "16.2.0",
+ "@typescript-eslint/type-utils": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
+ "aria-query": "5.3.0",
+ "axobject-query": "3.2.1"
},
- "engines": {
- "node": ">=8"
+ "peerDependencies": {
+ "eslint": "^7.20.0 || ^8.0.0",
+ "typescript": "*"
}
},
- "node_modules/@angular-devkit/build-angular/node_modules/tslib": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
- "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
- "dev": true
+ "node_modules/@angular-eslint/schematics": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.2.0.tgz",
+ "integrity": "sha512-2JUVR7hAKx37mgWeDjvyWEMH5uSeeksYuaQT5wwlgIzgrO4BNFuqs6Rgyp2jiYa7BFMX/qHULSa+bSq5J5ceEA==",
+ "dev": true,
+ "dependencies": {
+ "@angular-eslint/eslint-plugin": "16.2.0",
+ "@angular-eslint/eslint-plugin-template": "16.2.0",
+ "@nx/devkit": "16.5.1",
+ "ignore": "5.2.4",
+ "nx": "16.5.1",
+ "strip-json-comments": "3.1.1",
+ "tmp": "0.2.1"
+ },
+ "peerDependencies": {
+ "@angular/cli": ">= 16.0.0 < 17.0.0"
+ }
},
- "node_modules/@angular-devkit/build-webpack": {
- "version": "0.1601.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1601.3.tgz",
- "integrity": "sha512-744+72vi/Vx010VxizGgilhpnDCOG29qyhMmu7BkUhtpq8E8eQn2HU3nPpxAqrg3bKVAwD7v3F111MVIhub8kA==",
+ "node_modules/@angular-eslint/schematics/node_modules/tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
"dev": true,
"dependencies": {
- "@angular-devkit/architect": "0.1601.3",
- "rxjs": "7.8.1"
+ "rimraf": "^3.0.0"
},
"engines": {
- "node": "^16.14.0 || >=18.10.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
+ "node": ">=8.17.0"
+ }
+ },
+ "node_modules/@angular-eslint/template-parser": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.2.0.tgz",
+ "integrity": "sha512-v2jVKTy2wN7iM9nHpBkxLn2wfL8jSl4IlPrXThIqj8No2VHtpLQZPKuXbGPUXQX05VS2Mj5feScQ36ZVGS8Rbw==",
+ "dev": true,
+ "dependencies": {
+ "@angular-eslint/bundled-angular-compiler": "16.2.0",
+ "eslint-scope": "^7.0.0"
},
"peerDependencies": {
- "webpack": "^5.30.0",
- "webpack-dev-server": "^4.0.0"
+ "eslint": "^7.20.0 || ^8.0.0",
+ "typescript": "*"
}
},
- "node_modules/@angular-devkit/core": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.3.tgz",
- "integrity": "sha512-cFhNdJHumNMZGD3NYxOtNuMGRQXeDnKbwvK+IJmKAttXt8na6EvURR/ZxZOI7rl/YRVX+vcNSdtXz3hE6g+Isw==",
+ "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
"dev": true,
"dependencies": {
- "ajv": "8.12.0",
- "ajv-formats": "2.1.1",
- "jsonc-parser": "3.2.0",
- "rxjs": "7.8.1",
- "source-map": "0.7.4"
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
},
"engines": {
- "node": "^16.14.0 || >=18.10.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- },
- "peerDependencies": {
- "chokidar": "^3.5.2"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
- "peerDependenciesMeta": {
- "chokidar": {
- "optional": true
- }
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/@angular-devkit/schematics": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.1.3.tgz",
- "integrity": "sha512-hWEuQnfQOgcSs4YX6iF4QR/34ROeSPaMi7lQOYg33hStg+pnk/JDdIU0f2nrIIz3t0jqAj+5VXVLBJvOCd84vg==",
+ "node_modules/@angular-eslint/utils": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.2.0.tgz",
+ "integrity": "sha512-NxMRwnlIgzmbJQfWkfd9y3Sz0hzjFdK5LH44i+3D5NhpPdZ6SzwHAjMYWoYsmmNQX5tlDXoicYF9Mz9Wz8DJ/A==",
"dev": true,
"dependencies": {
- "@angular-devkit/core": "16.1.3",
- "jsonc-parser": "3.2.0",
- "magic-string": "0.30.0",
- "ora": "5.4.1",
- "rxjs": "7.8.1"
+ "@angular-eslint/bundled-angular-compiler": "16.2.0",
+ "@typescript-eslint/utils": "5.62.0"
},
- "engines": {
- "node": "^16.14.0 || >=18.10.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
+ "peerDependencies": {
+ "eslint": "^7.20.0 || ^8.0.0",
+ "typescript": "*"
}
},
"node_modules/@angular/animations": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.1.3.tgz",
- "integrity": "sha512-ET6ahrlbOyTYXOTouKs2VJxx0CMTrYkfz0HfI6IHnSKBC6wguDxXYnamMouHgrCkDDEB5qClfGHyS9se0AOX4w==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.2.10.tgz",
+ "integrity": "sha512-UudunZoyFWWNpuWkwiBxC3cleLCVJGHIfMgypFwC35YjtiIlRJ0r4nVkc96Rq1xd4mT71Dbk1kQHc8urB8A7aw==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -386,13 +453,13 @@
"node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/core": "16.1.3"
+ "@angular/core": "16.2.10"
}
},
"node_modules/@angular/cdk": {
- "version": "16.1.4",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.1.4.tgz",
- "integrity": "sha512-05m0+NoAkV5O15GUEX2GQLySe8iC6P0GXVqUjLipdGmZ2/pNndJ/DGbqkX8dAAo/Z3ss2TEyRNYMOJdLIjV5vw==",
+ "version": "16.2.9",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.2.9.tgz",
+ "integrity": "sha512-TrLV68YpddUx3t2rs8W29CPk8YkgNGA8PKHwjB4Xvo1yaEH5XUnsw3MQCh42Ee7FKseaqzFgG85USZXAK0IB0A==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -406,15 +473,15 @@
}
},
"node_modules/@angular/cli": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.1.3.tgz",
- "integrity": "sha512-D0gU12z/N2oJ+s6pggAnWYrTUZ+2duGb3Y5oUyClsubz7JWpAwHjSZpb8exPUrgYhr+qIEMGO685y1JazJQ2tA==",
+ "version": "16.1.8",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.1.8.tgz",
+ "integrity": "sha512-amOIHMq8EvixhnI+do5Bcy6IZSFAJx0njhhLM4ltDuNUczH8VH0hNegZKxhb8K87AMO8jITFM+NLrzccyghsDQ==",
"dev": true,
"dependencies": {
- "@angular-devkit/architect": "0.1601.3",
- "@angular-devkit/core": "16.1.3",
- "@angular-devkit/schematics": "16.1.3",
- "@schematics/angular": "16.1.3",
+ "@angular-devkit/architect": "0.1601.8",
+ "@angular-devkit/core": "16.1.8",
+ "@angular-devkit/schematics": "16.1.8",
+ "@schematics/angular": "16.1.8",
"@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.3",
"ini": "4.1.1",
@@ -439,130 +506,84 @@
"yarn": ">= 1.13.0"
}
},
- "node_modules/@angular/cli/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==",
+ "node_modules/@angular/cli/node_modules/@angular-devkit/architect": {
+ "version": "0.1601.8",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.8.tgz",
+ "integrity": "sha512-kOXVGwsQnZvtz2UZNefcEy64Jiwq0eSoQUeozvDXOaYRJABLjPKI2YaarvKC9/Z1SGLuje0o/eRJO4T8aRk9rQ==",
"dev": true,
"dependencies": {
- "color-convert": "^2.0.1"
+ "@angular-devkit/core": "16.1.8",
+ "rxjs": "7.8.1"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
}
},
- "node_modules/@angular/cli/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "node_modules/@angular/cli/node_modules/@angular-devkit/core": {
+ "version": "16.1.8",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.8.tgz",
+ "integrity": "sha512-dSRD/+bGanArIXkj+kaU1kDFleZeQMzmBiOXX+pK0Ah9/0Yn1VmY3RZh1zcX9vgIQXV+t7UPrTpOjaERMUtVGw==",
"dev": true,
"dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "ajv": "8.12.0",
+ "ajv-formats": "2.1.1",
+ "jsonc-parser": "3.2.0",
+ "rxjs": "7.8.1",
+ "source-map": "0.7.4"
},
"engines": {
- "node": ">=10"
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
},
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "peerDependencies": {
+ "chokidar": "^3.5.2"
+ },
+ "peerDependenciesMeta": {
+ "chokidar": {
+ "optional": true
+ }
}
},
- "node_modules/@angular/cli/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==",
+ "node_modules/@angular/cli/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
"engines": {
- "node": ">= 10"
+ "node": ">=10"
}
},
- "node_modules/@angular/cli/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==",
+ "node_modules/@angular/cli/node_modules/semver": {
+ "version": "7.5.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
+ "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
"dev": true,
"dependencies": {
- "color-name": "~1.1.4"
+ "lru-cache": "^6.0.0"
},
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@angular/cli/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/@angular/cli/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/@angular/cli/node_modules/inquirer": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
- "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
- "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.5.5",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6",
- "wrap-ansi": "^7.0.0"
+ "bin": {
+ "semver": "bin/semver.js"
},
"engines": {
- "node": ">=12.0.0"
+ "node": ">=10"
}
},
- "node_modules/@angular/cli/node_modules/mute-stream": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "node_modules/@angular/cli/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
- "node_modules/@angular/cli/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/@angular/cli/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/@angular/common": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.1.3.tgz",
- "integrity": "sha512-ZzJ6EwQHUkiZYV0zH/UxyUYW5uxomsyk7tdtqZIxAR5m2ktYkQ5XlqgPjBO8voF54Rs5Ot43RkPCLesbZyJDsw==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.2.10.tgz",
+ "integrity": "sha512-cLth66aboInNcWFjDBRmK30jC5KN10nKDDcv4U/r3TDTBpKOtnmTjNFFr7dmjfUmVhHFy/66piBMfpjZI93Rxg==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -570,14 +591,14 @@
"node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/core": "16.1.3",
+ "@angular/core": "16.2.10",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/compiler": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.1.3.tgz",
- "integrity": "sha512-7Ckvssk9+s5xLyXvp72IwAw5vd/Osa3tR6oiQatdbw+O3XjLO04QycoGXwkp/fYVexGsjFyOn6QJ5n1F/PYPbQ==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.2.10.tgz",
+ "integrity": "sha512-ty6SfqkZlV2bLU/SSi3wmxrEFgPrK+WVslCNIr3FlTnCBdqpIbadHN2QB3A1d9XaNc7c4Tq5DQKh34cwMwNbuw==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -585,7 +606,7 @@
"node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/core": "16.1.3"
+ "@angular/core": "16.2.10"
},
"peerDependenciesMeta": {
"@angular/core": {
@@ -594,12 +615,12 @@
}
},
"node_modules/@angular/compiler-cli": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.1.3.tgz",
- "integrity": "sha512-aUqnIV9rRTBNgiQRS0Gv6lhghaGj1vpVRyXgiE4VnTR9uBONSsGKMNALYBBhXRTSk2e0cvutt0ubLgmNpdyWyQ==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.2.10.tgz",
+ "integrity": "sha512-swgmtm4R23vQV9nJTXdDEFpOyIw3kz80mdT9qo3VId/2rqenOK253JsFypoqEj/fKzjV9gwXtTbmrMlhVyuyxw==",
"dev": true,
"dependencies": {
- "@babel/core": "7.22.5",
+ "@babel/core": "7.23.2",
"@jridgewell/sourcemap-codec": "^1.4.14",
"chokidar": "^3.0.0",
"convert-source-map": "^1.5.1",
@@ -617,14 +638,88 @@
"node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/compiler": "16.1.3",
+ "@angular/compiler": "16.2.10",
"typescript": ">=4.9.3 <5.2"
}
},
+ "node_modules/@angular/compiler-cli/node_modules/@babel/core": {
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz",
+ "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-module-transforms": "^7.23.0",
+ "@babel/helpers": "^7.23.2",
+ "@babel/parser": "^7.23.0",
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.2",
+ "@babel/types": "^7.23.0",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
+ "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@angular/compiler-cli/node_modules/@babel/generator": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
+ "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.23.0",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@angular/compiler-cli/node_modules/@babel/template": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@angular/core": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.1.3.tgz",
- "integrity": "sha512-yhRo9hVS8KhfcEgzciWuRWF4Pnnko98bmSJTqd7u8Kys6z3Uj0qgXMssXHIPUALe3mQKjVkdSZPLIZ9/CaVn/Q==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.2.10.tgz",
+ "integrity": "sha512-0XTsPjNflFhOl2CfNEdGeDOklG2t+m/D3g10Y7hg9dBjC1dURUEqTmM4d6J7JNbBURrP+/iP7uLsn3WRSipGUw==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -637,9 +732,9 @@
}
},
"node_modules/@angular/forms": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.3.tgz",
- "integrity": "sha512-9tJHgoi/Jmeo30zfnReVZWFcd1WthR+QwYUNwPev+ys58u1mB0cDGORvROySmC2YUyXFSpXt8sxwyWCkYvaV2w==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.2.10.tgz",
+ "integrity": "sha512-TZliEtSWIL1UzY8kjed4QcMawWS8gk/H60KVgzCh83NGE0wd1OGv20Z5OR7O8j07dxB9vaxY7CQz/8eCz5KaNQ==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -647,69 +742,69 @@
"node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/common": "16.1.3",
- "@angular/core": "16.1.3",
- "@angular/platform-browser": "16.1.3",
+ "@angular/common": "16.2.10",
+ "@angular/core": "16.2.10",
+ "@angular/platform-browser": "16.2.10",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/material": {
- "version": "16.1.4",
- "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.1.4.tgz",
- "integrity": "sha512-1SKWB14J+IorRL6uzq4a9cBLpVOMONTzso05LoVLGKrmtMCL5cRYLM/otT0IjY+oqG/fnTpsYDwV7E6n7AljeA==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/auto-init": "15.0.0-canary.b994146f6.0",
- "@material/banner": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/button": "15.0.0-canary.b994146f6.0",
- "@material/card": "15.0.0-canary.b994146f6.0",
- "@material/checkbox": "15.0.0-canary.b994146f6.0",
- "@material/chips": "15.0.0-canary.b994146f6.0",
- "@material/circular-progress": "15.0.0-canary.b994146f6.0",
- "@material/data-table": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dialog": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/drawer": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/fab": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/floating-label": "15.0.0-canary.b994146f6.0",
- "@material/form-field": "15.0.0-canary.b994146f6.0",
- "@material/icon-button": "15.0.0-canary.b994146f6.0",
- "@material/image-list": "15.0.0-canary.b994146f6.0",
- "@material/layout-grid": "15.0.0-canary.b994146f6.0",
- "@material/line-ripple": "15.0.0-canary.b994146f6.0",
- "@material/linear-progress": "15.0.0-canary.b994146f6.0",
- "@material/list": "15.0.0-canary.b994146f6.0",
- "@material/menu": "15.0.0-canary.b994146f6.0",
- "@material/menu-surface": "15.0.0-canary.b994146f6.0",
- "@material/notched-outline": "15.0.0-canary.b994146f6.0",
- "@material/radio": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/segmented-button": "15.0.0-canary.b994146f6.0",
- "@material/select": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/slider": "15.0.0-canary.b994146f6.0",
- "@material/snackbar": "15.0.0-canary.b994146f6.0",
- "@material/switch": "15.0.0-canary.b994146f6.0",
- "@material/tab": "15.0.0-canary.b994146f6.0",
- "@material/tab-bar": "15.0.0-canary.b994146f6.0",
- "@material/tab-indicator": "15.0.0-canary.b994146f6.0",
- "@material/tab-scroller": "15.0.0-canary.b994146f6.0",
- "@material/textfield": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tooltip": "15.0.0-canary.b994146f6.0",
- "@material/top-app-bar": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "16.2.9",
+ "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.2.9.tgz",
+ "integrity": "sha512-ppEVvB5+TAqYxEiWCOt56TJbKayuJXPO5gAIaoIgaj7a77A3iuJRBZD/TLldqUxqCI6T5pwuTVzdeDU4tTHGug==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/auto-init": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/banner": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/card": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/checkbox": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/chips": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/circular-progress": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/data-table": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dialog": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/drawer": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/fab": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/floating-label": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/form-field": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/icon-button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/image-list": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/layout-grid": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/line-ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/linear-progress": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/list": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/menu": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/menu-surface": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/notched-outline": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/radio": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/segmented-button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/select": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/slider": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/snackbar": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/switch": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tab": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tab-bar": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tab-indicator": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tab-scroller": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/textfield": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tooltip": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/top-app-bar": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/animations": "^16.0.0 || ^17.0.0",
- "@angular/cdk": "16.1.4",
+ "@angular/cdk": "16.2.9",
"@angular/common": "^16.0.0 || ^17.0.0",
"@angular/core": "^16.0.0 || ^17.0.0",
"@angular/forms": "^16.0.0 || ^17.0.0",
@@ -718,9 +813,9 @@
}
},
"node_modules/@angular/platform-browser": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.1.3.tgz",
- "integrity": "sha512-qZA6Lua2fpBe+KD/QArY/4hilypSZFcTcJsPjZwIzo5pavXqYDI8BVghwh5dcZoUa56hVRDJjv+XW6kl8m9Tdw==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.2.10.tgz",
+ "integrity": "sha512-TOZiK7ji550F8G39Ri255NnK1+2Xlr74RiElJdQct4TzfN0lqNf2KRDFFNwDohkP/78FUzcP4qBxs+Nf8M7OuQ==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -728,9 +823,9 @@
"node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/animations": "16.1.3",
- "@angular/common": "16.1.3",
- "@angular/core": "16.1.3"
+ "@angular/animations": "16.2.10",
+ "@angular/common": "16.2.10",
+ "@angular/core": "16.2.10"
},
"peerDependenciesMeta": {
"@angular/animations": {
@@ -739,9 +834,9 @@
}
},
"node_modules/@angular/platform-browser-dynamic": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.1.3.tgz",
- "integrity": "sha512-UHxSWpPB5+FSv8zm8T+4ZikLqyy+VE6GlOLp/DdgEz77j81rz2C1pMqozwTnVbD16XbI4rhTp+RFY3C9ArWOtw==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.2.10.tgz",
+ "integrity": "sha512-YVmhAjOmsp2SWRonv6Mr/qXuKroCiew9asd1IlAZ//wqcml9ZrNAcX3WlDa8ZqdmOplQb0LuvvirfNB/6Is/jg==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -749,16 +844,16 @@
"node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/common": "16.1.3",
- "@angular/compiler": "16.1.3",
- "@angular/core": "16.1.3",
- "@angular/platform-browser": "16.1.3"
+ "@angular/common": "16.2.10",
+ "@angular/compiler": "16.2.10",
+ "@angular/core": "16.2.10",
+ "@angular/platform-browser": "16.2.10"
}
},
"node_modules/@angular/router": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.1.3.tgz",
- "integrity": "sha512-bkn8cWGBKKZidDaP+R7g/S/6miSfH8iP24d2k86Awo+vaO+7G/5WWGfKJMKK8UNM/A5ueX6ugAZrMHpQ9e6Y4w==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.2.10.tgz",
+ "integrity": "sha512-ndiq2NkGZ8hTsyL/KK8qsiR3UA0NjOFIn1jtGXOKtHryXZ6vSTtkhtkE4h4+G6/QNTL1IKtocFhOQt/xsc7DUA==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -766,9 +861,9 @@
"node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/common": "16.1.3",
- "@angular/core": "16.1.3",
- "@angular/platform-browser": "16.1.3",
+ "@angular/common": "16.2.10",
+ "@angular/core": "16.2.10",
+ "@angular/platform-browser": "16.2.10",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -779,47 +874,48 @@
"dev": true
},
"node_modules/@babel/code-frame": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
- "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
+ "version": "7.22.13",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
+ "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
"dev": true,
"dependencies": {
- "@babel/highlight": "^7.22.5"
+ "@babel/highlight": "^7.22.13",
+ "chalk": "^2.4.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz",
- "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==",
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz",
+ "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz",
- "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==",
+ "version": "7.22.9",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz",
+ "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.22.5",
- "@babel/generator": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.5",
- "@babel/helper-module-transforms": "^7.22.5",
- "@babel/helpers": "^7.22.5",
- "@babel/parser": "^7.22.5",
+ "@babel/generator": "^7.22.9",
+ "@babel/helper-compilation-targets": "^7.22.9",
+ "@babel/helper-module-transforms": "^7.22.9",
+ "@babel/helpers": "^7.22.6",
+ "@babel/parser": "^7.22.7",
"@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
+ "@babel/traverse": "^7.22.8",
"@babel/types": "^7.22.5",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.2.2",
- "semver": "^6.3.0"
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -839,9 +935,9 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz",
- "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==",
+ "version": "7.22.9",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz",
+ "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==",
"dev": true,
"dependencies": {
"@babel/types": "^7.22.5",
@@ -866,34 +962,31 @@
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz",
- "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
+ "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz",
- "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
+ "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.5",
- "browserslist": "^4.21.3",
+ "@babel/compat-data": "^7.22.9",
+ "@babel/helper-validator-option": "^7.22.15",
+ "browserslist": "^4.21.9",
"lru-cache": "^5.1.1",
- "semver": "^6.3.0"
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
@@ -906,20 +999,20 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz",
- "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz",
+ "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.5",
"@babel/helper-function-name": "^7.22.5",
- "@babel/helper-member-expression-to-functions": "^7.22.5",
+ "@babel/helper-member-expression-to-functions": "^7.22.15",
"@babel/helper-optimise-call-expression": "^7.22.5",
- "@babel/helper-replace-supers": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.9",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.5",
- "semver": "^6.3.0"
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -938,14 +1031,14 @@
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz",
- "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
+ "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"regexpu-core": "^5.3.1",
- "semver": "^6.3.0"
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -964,48 +1057,52 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz",
- "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz",
+ "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==",
"dev": true,
"dependencies": {
- "@babel/helper-compilation-targets": "^7.17.7",
- "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-compilation-targets": "^7.22.6",
+ "@babel/helper-plugin-utils": "^7.22.5",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2",
- "semver": "^6.1.2"
+ "resolve": "^1.14.2"
},
"peerDependencies": {
- "@babel/core": "^7.4.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
- "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
"dev": true,
- "bin": {
- "semver": "bin/semver.js"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-environment-visitor": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
- "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
"dev": true,
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
+ },
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-function-name": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
- "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
+ "node_modules/@babel/helper-function-name/node_modules/@babel/template": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
@@ -1024,46 +1121,46 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz",
- "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz",
+ "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.23.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
- "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+ "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz",
- "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz",
+ "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==",
"dev": true,
"dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.5",
+ "@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.5",
- "@babel/helper-validator-identifier": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/helper-validator-identifier": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-optimise-call-expression": {
@@ -1088,15 +1185,14 @@
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz",
- "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
+ "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-wrap-function": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-wrap-function": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
@@ -1106,20 +1202,20 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz",
- "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
+ "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
"dev": true,
"dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-member-expression-to-functions": "^7.22.5",
- "@babel/helper-optimise-call-expression": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-member-expression-to-functions": "^7.22.15",
+ "@babel/helper-optimise-call-expression": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-simple-access": {
@@ -1147,9 +1243,9 @@
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz",
- "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==",
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
"dev": true,
"dependencies": {
"@babel/types": "^7.22.5"
@@ -1168,60 +1264,87 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
- "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
- "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz",
+ "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz",
- "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
+ "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
"dev": true,
"dependencies": {
"@babel/helper-function-name": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.22.19"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-wrap-function/node_modules/@babel/template": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz",
- "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==",
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz",
+ "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.2",
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers/node_modules/@babel/template": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz",
- "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
+ "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.22.5",
- "chalk": "^2.0.0",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
"js-tokens": "^4.0.0"
},
"engines": {
@@ -1229,9 +1352,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz",
- "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
+ "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@@ -1241,9 +1364,9 @@
}
},
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz",
- "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz",
+ "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1256,14 +1379,14 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz",
- "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz",
+ "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
- "@babel/plugin-transform-optional-chaining": "^7.22.5"
+ "@babel/plugin-transform-optional-chaining": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
@@ -1276,6 +1399,7 @@
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz",
"integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==",
+ "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.",
"dev": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.18.9",
@@ -1306,6 +1430,7 @@
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
"integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
+ "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.",
"dev": true,
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.18.6",
@@ -1569,14 +1694,14 @@
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz",
- "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==",
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz",
+ "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==",
"dev": true,
"dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-remap-async-to-generator": "^7.22.5",
+ "@babel/helper-remap-async-to-generator": "^7.22.20",
"@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
@@ -1619,9 +1744,9 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz",
- "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz",
+ "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1650,12 +1775,12 @@
}
},
"node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz",
- "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==",
+ "version": "7.22.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz",
+ "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==",
"dev": true,
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.22.5",
+ "@babel/helper-create-class-features-plugin": "^7.22.11",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-class-static-block": "^7.14.5"
},
@@ -1667,19 +1792,19 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz",
- "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz",
+ "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.5",
+ "@babel/helper-compilation-targets": "^7.22.15",
"@babel/helper-environment-visitor": "^7.22.5",
"@babel/helper-function-name": "^7.22.5",
"@babel/helper-optimise-call-expression": "^7.22.5",
"@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-replace-supers": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.9",
+ "@babel/helper-split-export-declaration": "^7.22.6",
"globals": "^11.1.0"
},
"engines": {
@@ -1706,9 +1831,9 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz",
- "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz",
+ "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1752,9 +1877,9 @@
}
},
"node_modules/@babel/plugin-transform-dynamic-import": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz",
- "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==",
+ "version": "7.22.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz",
+ "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -1784,9 +1909,9 @@
}
},
"node_modules/@babel/plugin-transform-export-namespace-from": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz",
- "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==",
+ "version": "7.22.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz",
+ "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -1800,9 +1925,9 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz",
- "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz",
+ "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1832,9 +1957,9 @@
}
},
"node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz",
- "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==",
+ "version": "7.22.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz",
+ "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -1863,9 +1988,9 @@
}
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz",
- "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==",
+ "version": "7.22.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz",
+ "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -1894,12 +2019,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz",
- "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz",
+ "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.22.5",
+ "@babel/helper-module-transforms": "^7.23.0",
"@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
@@ -1910,12 +2035,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz",
- "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz",
+ "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.22.5",
+ "@babel/helper-module-transforms": "^7.23.0",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-simple-access": "^7.22.5"
},
@@ -1927,15 +2052,15 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz",
- "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz",
+ "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==",
"dev": true,
"dependencies": {
"@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-module-transforms": "^7.22.5",
+ "@babel/helper-module-transforms": "^7.23.0",
"@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.5"
+ "@babel/helper-validator-identifier": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
@@ -1992,9 +2117,9 @@
}
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz",
- "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==",
+ "version": "7.22.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz",
+ "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -2008,9 +2133,9 @@
}
},
"node_modules/@babel/plugin-transform-numeric-separator": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz",
- "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==",
+ "version": "7.22.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz",
+ "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -2024,16 +2149,16 @@
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz",
- "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz",
+ "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.5",
+ "@babel/compat-data": "^7.22.9",
+ "@babel/helper-compilation-targets": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.22.5"
+ "@babel/plugin-transform-parameters": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
@@ -2059,9 +2184,9 @@
}
},
"node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz",
- "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==",
+ "version": "7.22.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz",
+ "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -2075,9 +2200,9 @@
}
},
"node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz",
- "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz",
+ "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -2092,9 +2217,9 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz",
- "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz",
+ "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -2123,13 +2248,13 @@
}
},
"node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz",
- "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==",
+ "version": "7.22.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz",
+ "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-create-class-features-plugin": "^7.22.5",
+ "@babel/helper-create-class-features-plugin": "^7.22.11",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5"
},
@@ -2156,13 +2281,13 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz",
- "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==",
+ "version": "7.22.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz",
+ "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
- "regenerator-transform": "^0.15.1"
+ "regenerator-transform": "^0.15.2"
},
"engines": {
"node": ">=6.9.0"
@@ -2187,17 +2312,17 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz",
- "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==",
+ "version": "7.22.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.9.tgz",
+ "integrity": "sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==",
"dev": true,
"dependencies": {
"@babel/helper-module-imports": "^7.22.5",
"@babel/helper-plugin-utils": "^7.22.5",
- "babel-plugin-polyfill-corejs2": "^0.4.3",
- "babel-plugin-polyfill-corejs3": "^0.8.1",
- "babel-plugin-polyfill-regenerator": "^0.5.0",
- "semver": "^6.3.0"
+ "babel-plugin-polyfill-corejs2": "^0.4.4",
+ "babel-plugin-polyfill-corejs3": "^0.8.2",
+ "babel-plugin-polyfill-regenerator": "^0.5.1",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -2292,9 +2417,9 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz",
- "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==",
+ "version": "7.22.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz",
+ "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -2355,13 +2480,13 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz",
- "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==",
+ "version": "7.22.9",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz",
+ "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.5",
+ "@babel/compat-data": "^7.22.9",
+ "@babel/helper-compilation-targets": "^7.22.9",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-validator-option": "^7.22.5",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5",
@@ -2386,13 +2511,13 @@
"@babel/plugin-syntax-top-level-await": "^7.14.5",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
"@babel/plugin-transform-arrow-functions": "^7.22.5",
- "@babel/plugin-transform-async-generator-functions": "^7.22.5",
+ "@babel/plugin-transform-async-generator-functions": "^7.22.7",
"@babel/plugin-transform-async-to-generator": "^7.22.5",
"@babel/plugin-transform-block-scoped-functions": "^7.22.5",
"@babel/plugin-transform-block-scoping": "^7.22.5",
"@babel/plugin-transform-class-properties": "^7.22.5",
"@babel/plugin-transform-class-static-block": "^7.22.5",
- "@babel/plugin-transform-classes": "^7.22.5",
+ "@babel/plugin-transform-classes": "^7.22.6",
"@babel/plugin-transform-computed-properties": "^7.22.5",
"@babel/plugin-transform-destructuring": "^7.22.5",
"@babel/plugin-transform-dotall-regex": "^7.22.5",
@@ -2417,7 +2542,7 @@
"@babel/plugin-transform-object-rest-spread": "^7.22.5",
"@babel/plugin-transform-object-super": "^7.22.5",
"@babel/plugin-transform-optional-catch-binding": "^7.22.5",
- "@babel/plugin-transform-optional-chaining": "^7.22.5",
+ "@babel/plugin-transform-optional-chaining": "^7.22.6",
"@babel/plugin-transform-parameters": "^7.22.5",
"@babel/plugin-transform-private-methods": "^7.22.5",
"@babel/plugin-transform-private-property-in-object": "^7.22.5",
@@ -2435,11 +2560,11 @@
"@babel/plugin-transform-unicode-sets-regex": "^7.22.5",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.22.5",
- "babel-plugin-polyfill-corejs2": "^0.4.3",
- "babel-plugin-polyfill-corejs3": "^0.8.1",
- "babel-plugin-polyfill-regenerator": "^0.5.0",
- "core-js-compat": "^3.30.2",
- "semver": "^6.3.0"
+ "babel-plugin-polyfill-corejs2": "^0.4.4",
+ "babel-plugin-polyfill-corejs3": "^0.8.2",
+ "babel-plugin-polyfill-regenerator": "^0.5.1",
+ "core-js-compat": "^3.31.0",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -2458,9 +2583,9 @@
}
},
"node_modules/@babel/preset-modules": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
- "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz",
+ "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.0.0",
@@ -2470,7 +2595,7 @@
"esutils": "^2.0.2"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/@babel/regjsgen": {
@@ -2480,9 +2605,9 @@
"dev": true
},
"node_modules/@babel/runtime": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz",
- "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==",
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz",
+ "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==",
"dev": true,
"dependencies": {
"regenerator-runtime": "^0.13.11"
@@ -2506,19 +2631,19 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz",
- "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==",
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
+ "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.22.5",
- "@babel/generator": "^7.22.5",
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-function-name": "^7.22.5",
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@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.5",
- "@babel/parser": "^7.22.5",
- "@babel/types": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.0",
+ "@babel/types": "^7.23.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -2526,14 +2651,29 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/traverse/node_modules/@babel/generator": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
+ "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.23.0",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/types": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz",
- "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
+ "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.20",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -2559,9 +2699,9 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
- "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz",
+ "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==",
"cpu": [
"arm"
],
@@ -2575,9 +2715,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
- "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz",
+ "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==",
"cpu": [
"arm64"
],
@@ -2591,9 +2731,9 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
- "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz",
+ "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==",
"cpu": [
"x64"
],
@@ -2607,9 +2747,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
- "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz",
+ "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==",
"cpu": [
"arm64"
],
@@ -2623,9 +2763,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
- "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz",
+ "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==",
"cpu": [
"x64"
],
@@ -2639,9 +2779,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
- "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz",
+ "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==",
"cpu": [
"arm64"
],
@@ -2655,9 +2795,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
- "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz",
+ "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==",
"cpu": [
"x64"
],
@@ -2671,9 +2811,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
- "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz",
+ "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==",
"cpu": [
"arm"
],
@@ -2687,9 +2827,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
- "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz",
+ "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==",
"cpu": [
"arm64"
],
@@ -2703,9 +2843,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
- "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz",
+ "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==",
"cpu": [
"ia32"
],
@@ -2719,9 +2859,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
- "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz",
+ "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==",
"cpu": [
"loong64"
],
@@ -2735,9 +2875,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
- "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz",
+ "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==",
"cpu": [
"mips64el"
],
@@ -2751,9 +2891,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
- "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz",
+ "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==",
"cpu": [
"ppc64"
],
@@ -2767,9 +2907,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
- "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz",
+ "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==",
"cpu": [
"riscv64"
],
@@ -2783,9 +2923,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
- "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz",
+ "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==",
"cpu": [
"s390x"
],
@@ -2799,9 +2939,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
- "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz",
+ "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==",
"cpu": [
"x64"
],
@@ -2815,9 +2955,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
- "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz",
+ "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==",
"cpu": [
"x64"
],
@@ -2831,9 +2971,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
- "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz",
+ "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==",
"cpu": [
"x64"
],
@@ -2847,9 +2987,9 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
- "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz",
+ "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==",
"cpu": [
"x64"
],
@@ -2863,9 +3003,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
- "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz",
+ "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==",
"cpu": [
"arm64"
],
@@ -2879,9 +3019,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
- "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz",
+ "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==",
"cpu": [
"ia32"
],
@@ -2895,9 +3035,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
- "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz",
+ "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==",
"cpu": [
"x64"
],
@@ -2910,13 +3050,169 @@
"node": ">=12"
}
},
- "node_modules/@isaacs/cliui": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
"dev": true,
"dependencies": {
- "string-width": "^5.1.2",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz",
+ "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
+ "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "13.23.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
+ "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/@eslint/eslintrc/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.52.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz",
+ "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.11.13",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
+ "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
+ "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
+ "dev": true
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^5.1.2",
"string-width-cjs": "npm:string-width@^4.2.0",
"strip-ansi": "^7.0.1",
"strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
@@ -3031,6 +3327,18 @@
"node": ">=8"
}
},
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "dev": true,
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
@@ -3046,9 +3354,9 @@
}
},
"node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
"dev": true,
"engines": {
"node": ">=6.0.0"
@@ -3064,9 +3372,9 @@
}
},
"node_modules/@jridgewell/source-map": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz",
- "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
+ "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
"dev": true,
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.0",
@@ -3080,21 +3388,15 @@
"dev": true
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.18",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
- "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
+ "version": "0.3.20",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+ "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
"dev": true,
"dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "dev": true
- },
"node_modules/@leichtgewicht/ip-codec": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
@@ -3102,761 +3404,761 @@
"dev": true
},
"node_modules/@material/animation": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-kqqzG54tabYJ5VsBur5k1bqCFQCEpaW3hmLRMiSVVxRY7XgTt7qkuOOz48gs+MPqR6P8VIi6gFpuscV1+DWDhw==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-leRf+BcZTfC/iSigLXnYgcHAGvFVQveoJT5+2PIRdyPI/bIG7hhciRgacHRsCKC0sGya81dDblLgdkjSUemYLw==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/@material/auto-init": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-8nLe/XeueJg5yyYx5e4UxWQXpTDyUhibKfyroGwnRKc8pdpOCOulHSOj/fIVGJAIbxkEJoebwMadWUNCjUhc9A==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-uxzDq7q3c0Bu1pAsMugc1Ik9ftQYQqZY+5e2ybNplT8gTImJhNt4M2mMiMHbMANk2l3UgICmUyRSomgPBWCPIA==",
"dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/banner": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-gJ4/VdP4dJgHP72Kdjy2f/UjHB45J4CuxoGvI0NIQYUjOSsr4kQiQHsjVgyEPZR/5wa7kBhM7/0mJ+zF7Ghv2A==",
- "dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/button": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-SHeVoidCUFVhXANN6MNWxK9SZoTSgpIP8GZB7kAl52BywLxtV+FirTtLXkg/8RUkxZRyRWl7HvQ0ZFZa7QQAyA==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/base": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-rW2upYD5YjRFBL6DzYn3SCRhtvpEDkwplDS810e3vt71uLMRyqXyw4OQJH+Nab/t+32TFDtKNUphXIzwICXGDQ==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-Fc3vGuOf+duGo22HTRP6dHdc+MUe0VqQfWOuKrn/wXKD62m0QQR2TqJd3rRhCumH557T5QUyheW943M3E+IGfg==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/@material/button": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-SMyqtsvJuCqpXBz2JgciuR6wddNJSGpTXUFxmLbGluBy5/hHm06JWlOFcUOxGDv46OdRGGrRfkg6A9JtvtsJsw==",
- "dependencies": {
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/focus-ring": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-3AQgwrPZCTWHDJvwgKq7Cj+BurQ4wTjDdGL+FEnIGUAjJDskwi1yzx5tW2Wf/NxIi7IoPFyOY3UB41jwMiOrnw==",
+ "dependencies": {
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/card": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-WSggGon91HcDhJyatnYLFkoM9glkkeJjyjFDWrcJkwN1rdrPJU+GH+PNjvmArz5hGv9WkmjDjhOdAuPnL4Mb7g==",
- "dependencies": {
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-nPlhiWvbLmooTnBmV5gmzB0eLWSgLKsSRBYAbIBmO76Okgz1y+fQNLag+lpm/TDaHVsn5fmQJH8e0zIg0rYsQA==",
+ "dependencies": {
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/checkbox": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-pulRiwG9S/dS6WBG+GteODBltddFiL0Sb7HAqdzF2BTKNKv25q1ZIR3ftoEa09TNeWM88AOzTJ4aBHiADfJn2w==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/focus-ring": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-4tpNnO1L0IppoMF3oeQn8F17t2n0WHB0D7mdJK9rhrujen/fLbekkIC82APB3fdGtLGg3qeNqDqPsJm1YnmrwA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/chips": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-3yJPj7x+eKLA4LMKG7aTWI+itAnKRVGOcniuR6aiXVy0OKr5asNuWNeZc9J0/VErjjxF3tdybDzDSPo01qPy9w==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/checkbox": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/focus-ring": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-fqHKvE5bSWK0bXVkf57MWxZtytGqYBZvvHIOs4JI9HPHEhaJy4CpSw562BEtbm3yFxxALoQknvPW2KYzvADnmA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/checkbox": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"safevalues": "^0.3.4",
"tslib": "^2.1.0"
}
},
"node_modules/@material/circular-progress": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-6YUvGXdtZKJoE7AuovR4xk1aiWp/EDZ6j2U3TOeynd1assQQCg5XT4abqAoHtpJrRPaCFgUAp836HyiDVVuYug==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/progress-indicator": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-Lxe8BGAxQwCQqrLhrYrIP0Uok10h7aYS3RBXP41ph+5GmwJd5zdyE2t93qm2dyThvU6qKuXw9726Dtq/N+wvZQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/progress-indicator": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/data-table": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-v4hIduIe/wzyibuL/RPM/ErYrt8XpB7fxyQqtV+0JsMpFa8E81QYyvMCS9EJj9m4YdkrQnZgA+vXQlOkhWvmdQ==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/checkbox": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/icon-button": "15.0.0-canary.b994146f6.0",
- "@material/linear-progress": "15.0.0-canary.b994146f6.0",
- "@material/list": "15.0.0-canary.b994146f6.0",
- "@material/menu": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/select": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-j/7qplT9+sUpfe4pyWhPbl01qJA+OoNAG3VMJruBBR461ZBKyTi7ssKH9yksFGZ8eCEPkOsk/+kDxsiZvRWkeQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/checkbox": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/icon-button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/linear-progress": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/list": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/menu": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/select": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/density": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-m8l0vuoWSoAPItBpWp5eZDvitUcB2JWoO8V486hLgdveVcKgXG09xWM43ScH+PLXAWjzr5olDEuJ2tvfkN3SpQ==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-Zt3u07fXrBWLW06Tl5fgvjicxNQMkFdawLyNTzZ5TvbXfVkErILLePwwGaw8LNcvzqJP6ABLA8jiR+sKNoJQCg==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/@material/dialog": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-JucU92yh8cfZQpyRBunHr6uohacePLYmhcPaGpkAGQ1b+zCznEsNs55tjhaVQNoj91XA9rrBqtL6Otg+fxFJtQ==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/button": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/icon-button": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-o+9a/fmwJ9+gY3Z/uhj/PMVJDq7it1NTWKJn2GwAKdB+fDkT4hb9qEdcxMPyvJJ5ups+XiKZo03+tZrD+38c1w==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/icon-button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/dom": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-DiUsTezrCi4iytjIn7xXoXZSNFvuTrVVZgc7cR9cW8yu2Hpz8bPf87PacVn4IP9OsNwy/dCDMk1Kcq/DMh7gXQ==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-ly78R7aoCJtundSUu0UROU+5pQD5Piae0Y1MkN6bs0724azeazX1KeXFeaf06JOXnlr5/41ol+fSUPowjoqnOg==",
"dependencies": {
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/drawer": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-Kbuf32V0eX69amvCVbAjNSabNDerZWyG8ip466EfQHRh0OUZwvsbhLp9FZOB7AyR+/bQiHf3mVLcombOdmdkcQ==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/list": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-PFL4cEFnt7VTxDsuspFVNhsFDYyumjU0VWfj3PWB7XudsEfQ3lo85D3HCEtTTbRsCainGN8bgYNDNafLBqiigw==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/list": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/elevation": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-l2YDNgBajSI6oA2l6gaeYCTGHRao657syqQ/tv95/Hkcee9900A4RrsxCwSxOqqAs5pZZDEJ33kFJjj27nqZDw==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-Ro+Pk8jFuap+T0B0shA3xI1hs2b89dNQ2EIPCNjNMp87emHKAzJfhKb7EZGIwv3+gFLlVaLyIVkb94I89KLsyg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/fab": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-ExyDVkNWINpns41Ahj4u8I/OhiVkqI0nmcqjFRtgTJMmKEd4NhlvqIxE7gakAlyS68riJu5UleqTSTVmt8mv2Q==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/focus-ring": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-dvU0KWMRglwJEQwmQtFAmJcAjzg9VFF6Aqj78bJYu/DAIGFJ1VTTTSgoXM/XCm1YyQEZ7kZRvxBO37CH54rSDg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/feature-targeting": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-HR/FjSQmza98B1DF80MRjODyfOI9r7wXkPSts/cLQsYkpwZ5uJmxhvQKjDCeYVpMV0lQuvuvVOQo7uD44TdWEg==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-wkDjVcoVEYYaJvun28IXdln/foLgPD7n9ZC9TY76GErGCwTq+HWpU6wBAAk+ePmpRFDayw4vI4wBlaWGxLtysQ==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/@material/floating-label": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-g64talBNWCS0FUfLWal0uB637gUciSIqYxFzSW//LglTtbZLGK2J4+9gAEswQGnKeO4ux08EN2n1ZcMDYQ58ow==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-bUWPtXzZITOD/2mkvLkEPO1ngDWmb74y0Kgbz6llHLOQBtycyJIpuoQJ1q2Ez0NM/tFLwPphhAgRqmL3YQ/Kzw==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/focus-ring": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-87qEMuXsCvlQfTiimnzJUZoebnIXWcMtRZevNLymN9Y0t9jGckQxZPmrI0llRkpyiR/Ewhec5SI/JGrFlYHnsA==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-cZHThVose3GvAlJzpJoBI1iqL6d1/Jj9hXrR+r8Mwtb1hBIUEG3hxfsRd4vGREuzROPlf0OgNf/V+YHoSwgR5w==",
"dependencies": {
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0"
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0"
}
},
"node_modules/@material/form-field": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-Tg1SQQaopvXMyDEYxGTWnhCWQmNcWVIoKMLmle9P/gi2p8ulcj0iOCPYf+3ECqUBVozOmTPKlYOOiRwtKStAeA==",
- "dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-+JFXy5X44Gue1CbZZAQ6YejnI203lebYwL0i6k0ylDpWHEOdD5xkF2PyHR28r9/65Ebcbwbff6q7kI1SGoT7MA==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/icon-button": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-X6DvOv4jpymHUjI7ZAbO946nDgGYKDwPZfkRzBE84gv2XEr2qfMuABhojxkYubRbt03oauBdcJVVMFCXkVhArQ==",
- "dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/focus-ring": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-1a0MHgyIwOs4RzxrVljsqSizGYFlM1zY2AZaLDsgT4G3kzsplTx8HZQ022GpUCjAygW+WLvg4z1qAhQHvsbqlw==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/image-list": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-kf903XFF1P+V5ZPXCt+7R6c55g4UyQE1ZHkTViCIJfd52gU40bHODMhTQy/ywBkwDeJfNk8uf1V1IM24WQYpxA==",
- "dependencies": {
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-WKWmiYap2iu4QdqmeUSliLlN4O2Ueqa0OuVAYHn/TCzmQ2xmnhZ1pvDLbs6TplpOmlki7vFfe+aSt5SU9gwfOQ==",
+ "dependencies": {
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/layout-grid": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-OALBSGue8g1/mEwLYYi2d950dJFpNYKW87jPS9/KM65JKMyxoU7tU2d4An1BuyqK0r9sopGq6Pn/zhill0iLaw==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-5GqmT6oTZhUGWIb+CLD0ZNyDyTiJsr/rm9oRIi3+vCujACwxFkON9tzBlZohdtFS16nuzUusthN6Jt9UrJcN6Q==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/@material/line-ripple": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-evjZxCu4iodiKtW8N0xjY8ACRXm3sY+4rAmq3vV5BmHWAJ3BobjbFYslDMZQ+4mu3HmwMatbJehKxHegahitNg==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-8S30WXEuUdgDdBulzUDlPXD6qMzwCX9SxYb5mGDYLwl199cpSGdXHtGgEcCjokvnpLhdZhcT1Dsxeo1g2Evh5Q==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/linear-progress": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-jlXh+tIj+/o0Ks7fHdC/24fH6IXCAl2vF52U6NwT39ESrlwmlLhp3gtag5GSBHN5E7Z09nK871Yo1G/b1F+COg==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/progress-indicator": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-6EJpjrz6aoH2/gXLg9iMe0yF2C42hpQyZoHpmcgTLKeci85ktDvJIjwup8tnk8ULQyFiGiIrhXw2v2RSsiFjvQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/progress-indicator": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/list": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-kY/i6VvFBb/W3VvCPvWRMzWvu7mvNFJ+R8ijfawDoAXiv4fj42GO4iFyTcFXaUevEPKp791pN/09BMJQ6jYEvA==",
- "dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-TQ1ppqiCMQj/P7bGD4edbIIv4goczZUoiUAaPq/feb1dflvrFMzYqJ7tQRRCyBL8nRhJoI2x99tk8Q2RXvlGUQ==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/menu": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-y6smNmLJ+U0DoXWbyqzW+VW/uWDuklhdGHc5MbZrTOhsKkhvoTVNMSOa+NFPU4gTwrplvUjaUvnIsQ0wygwD3g==",
- "dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/list": "15.0.0-canary.b994146f6.0",
- "@material/menu-surface": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-IlAh61xzrzxXs38QZlt74UYt8J431zGznSzDtB1Fqs6YFNd11QPKoiRXn1J2Qu/lUxbFV7i8NBKMCKtia0n6/Q==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/list": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/menu-surface": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/menu-surface": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-StmM3lrRn1iMEZfq532jpMNppqyBBy68FbPurKEsHuP/3q+CscfnwjrS9ym+JcHqXKMHnQXbL/49ymffRGX2AQ==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-dMtSPN+olTWE+08M5qe4ea1IZOhVryYqzK0Gyb2u1G75rSArUxCOB5rr6OC/ST3Mq3RS6zGuYo7srZt4534K9Q==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/notched-outline": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-UZxU8jXM2t/bk/CiO0K+TSPspuJRZIyrYlIS0gd+qq/u8Gi2DpALBlLAh9Jeu46IUg4YGlPsNWYfe8p3QAVyoA==",
- "dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/floating-label": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-WuurMg44xexkvLTBTnsO0A+qnzFjpcPdvgWBGstBepYozsvSF9zJGdb1x7Zv1MmqbpYh/Ohnuxtb/Y3jOh6irg==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/floating-label": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/progress-indicator": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-VT+mOQhohaM+pBX1rknbVOI6JCGKg9NiOHBoYljIvnexNeILE+mW9g6mtQ0ZCJPz0oMmiSAMLcuxMIcBXx84Xw==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-uOnsvqw5F2fkeTnTl4MrYzjI7KCLmmLyZaM0cgLNuLsWVlddQE+SGMl28tENx7DUK3HebWq0FxCP8f25LuDD+w==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/@material/radio": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-U/RR2lVNWwEO2+kJtGz9XzvnOF0gAZn1krMY0z/eU9Wnl0OgPZbqQrxXMoVNv1pzKYSEwZQEGado/rv8qp7piA==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/focus-ring": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-ehzOK+U1IxQN+OQjgD2lsnf1t7t7RAwQzeO6Czkiuid29ookYbQynWuLWk7NW8H8ohl7lnmfqTP1xSNkkL/F0g==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/ripple": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-WzIbc8wYTzMOczqGXVCBPdNcv/73Ef8FwcQYsscGMaqCzgVsdpoqilTfsx7Ryyz6dQbyfmJqp7s+YpPujcezOA==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-JfLW+g3GMVDv4cruQ19+HUxpKVdWCldFlIPw1UYezz2h3WTNDy05S3uP2zUdXzZ01C3dkBFviv4nqZ0GCT16MA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/rtl": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-H/W6BVn4Ygfkrf/FgSrNhbu1uY7PST2wlsjEYQt06EfAM0CDHEwSL1MwV4FmpQA/r40Q0PqoLN6moDrtCe5S8g==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-SkKLNLFp5QtG7/JEFg9R92qq4MzTcZ5As6sWbH7rRg6ahTHoJEuqE+pOb9Vrtbj84k5gtX+vCYPvCILtSlr2uw==",
"dependencies": {
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/segmented-button": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-jd+f4BTnU0tghxBpAM/XdVmruDXSoQ88TYSFWbrhulS+/c/ooCZURWvVC4mHNej+QR/fODkx4adbqkBiwwCtMw==",
- "dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/touch-target": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-YDwkCWP9l5mIZJ7pZJZ2hMDxfBlIGVJ+deNzr8O+Z7/xC5LGXbl4R5aPtUVHygvXAXxpf5096ZD+dSXzYzvWlw==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/select": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-5thEQS+B17JSm3I8D+mqQe2G3ArVnXJALTEEE9FmMUKwKYkrsLplm3FYuEXERZGJnYeTRdkdmhYY/YeocfZoyA==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/floating-label": "15.0.0-canary.b994146f6.0",
- "@material/line-ripple": "15.0.0-canary.b994146f6.0",
- "@material/list": "15.0.0-canary.b994146f6.0",
- "@material/menu": "15.0.0-canary.b994146f6.0",
- "@material/menu-surface": "15.0.0-canary.b994146f6.0",
- "@material/notched-outline": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-unfOWVf7T0sixVG+3k3RTuATfzqvCF6QAzA6J9rlCh/Tq4HuIBNDdV4z19IVu4zwmgWYxY0iSvqWUvdJJYwakQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/floating-label": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/line-ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/list": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/menu": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/menu-surface": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/notched-outline": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/shape": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-sINM3gr3aLgdvqZVfqfXV5EB77owLLJjy+2NqchJ8ZPqucCJ+F/BsCBfLA2Wu3O4Sc9IpAEn/o1hzYm/CWAFAw==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-Dsvr771ZKC46ODzoixLdGwlLEQLfxfLrtnRojXABoZf5G3o9KtJU+J+5Ld5aa960OAsCzzANuaub4iR88b1guA==",
"dependencies": {
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/slider": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-dyT72+Kp//AEajJxDUVoMoizUjf2uggVMGXOaQ7FhpGHuf7LC3EyEjrrJ15efFzYgTjdJUU1YQkCwGmdt6CQsA==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-3AEu+7PwW4DSNLndue47dh2u7ga4hDJRYmuu7wnJCIWJBnLCkp6C92kNc4Rj5iQY2ftJio5aj1gqryluh5tlYg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/snackbar": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-fEhPASJossScNpcrNYrrH8uU+rUf6+kw7/ZMrpUzzz1lVXliL28jTNEmU1nFpcDI4M2GXH+Z64f7vl2hiMDG8g==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/button": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/icon-button": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-TwwQSYxfGK6mc03/rdDamycND6o+1p61WNd7ElZv1F1CLxB4ihRjbCoH7Qo+oVDaP8CTpjeclka+24RLhQq0mA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/icon-button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/switch": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-czCXTUa30ILIf1J3exiuSVIRcodGATHexd3eWDq4sfHo4iMh4rBMaIxcqkmnb2iwE/mMTNyVfoauijx2QiNKrA==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/focus-ring": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-OjUjtT0kRz1ASAsOS+dNzwMwvsjmqy5edK57692qmrP6bL4GblFfBDoiNJ6t0AN4OaKcmL5Hy/xNrTdOZW7Qqw==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
"safevalues": "^0.3.4",
"tslib": "^2.1.0"
}
},
"node_modules/@material/tab": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-ygswooiNdBNNDnQdbPX0nzDQu7oQlHo8vWZ0/xL4IPVEXabY5zCzsEbGNZw2u/syo56c/NHPyMsUmXDGRSXOvQ==",
- "dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/focus-ring": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/tab-indicator": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-s/L9otAwn/pZwVQZBRQJmPqYeNbjoEbzbjMpDQf/VBG/6dJ+aP03ilIBEkqo8NVnCoChqcdtVCoDNRtbU+yp6w==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tab-indicator": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/tab-bar": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-F9NegACnFEWMu1pAAypV4Jd7qROeffkvEgVO28Xxk/CvzZxFz8kAjYJZ+rI6RUhPX3BhXzwsz/AlLwsJMT2tnA==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/tab": "15.0.0-canary.b994146f6.0",
- "@material/tab-indicator": "15.0.0-canary.b994146f6.0",
- "@material/tab-scroller": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-Xmtq0wJGfu5k+zQeFeNsr4bUKv7L+feCmUp/gsapJ655LQKMXOUQZtSv9ZqWOfrCMy55hoF1CzGFV+oN3tyWWQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tab": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tab-indicator": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tab-scroller": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/tab-indicator": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-8IH/DmwlZhQlw/2Y3aKrEvjEhZB+qbKUiyaij3BkTAexvyFeDBh5cLNjRpYkUJSGeSPhS6yu4SYzMHPmQEwQmA==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-despCJYi1GrDDq7F2hvLQkObHnSLZPPDxnOzU16zJ6FNYvIdszgfzn2HgAZ6pl5hLOexQ8cla6cAqjTDuaJBhQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/tab-scroller": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-1MeWkr62OICfTv8oqhIZe6jFo0dKeMlUfB+/WcgnpoeMBszCOSlx5tQ4pedxUkuR3I+Z7rsTfSN0LavgF8bATA==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/tab": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-QWHG/EWxirj4V9u2IHz+OSY9XCWrnNrPnNgEufxAJVUKV/A8ma1DYeFSQqxhX709R8wKGdycJksg0Flkl7Gq7w==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tab": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/textfield": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-Kxb3DoJ5o8u3Y1gRMHKmWrDl1TirVxuf/UFrxPFiCE3J1SqiE2VQpakiD1emZwp+LSKtbRsQ/iILYLB/h7Wuvw==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/density": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/floating-label": "15.0.0-canary.b994146f6.0",
- "@material/line-ripple": "15.0.0-canary.b994146f6.0",
- "@material/notched-outline": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-R3qRex9kCaZIAK8DuxPnVC42R0OaW7AB7fsFknDKeTeVQvRcbnV8E+iWSdqTiGdsi6QQHifX8idUrXw+O45zPw==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/density": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/floating-label": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/line-ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/notched-outline": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/theme": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-5tsZ92dAeUcZ9g9CrIkqX/GYc0M5DIfsydtI1PAidaBzr1Uokuh4rTZVQZBv7gyglF0yDua59lkb0I6wI9vxXg==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-CpUwXGE0dbhxQ45Hu9r9wbJtO/MAlv5ER4tBHA9tp/K+SU+lDgurBE2touFMg5INmdfVNtdumxb0nPPLaNQcUg==",
"dependencies": {
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/tokens": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-jFqU7PtvGkrP8b8i2soCrYQInTrnZ1/rIPDi+Xm3sa/qSghCNwFrdJEqwcwtv1fPlJIOtzkIuVRYRmAP9rXQIQ==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-nbEuGj05txWz6ZMUanpM47SaAD7soyjKILR+XwDell9Zg3bGhsnexCNXPEz2fD+YgomS+jM5XmIcaJJHg/H93Q==",
"dependencies": {
- "@material/elevation": "15.0.0-canary.b994146f6.0"
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0"
}
},
"node_modules/@material/tooltip": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-bVzydXGn3fauHJ8pkh32DsdyRJXleeFQ4t7jZ/rcRik+n4G1BvYiblfuu3Z/OCC0m3TJDyMdJhd+sLqRDqLUUg==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/button": "15.0.0-canary.b994146f6.0",
- "@material/dom": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/tokens": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-UzuXp0b9NuWuYLYpPguxrjbJnCmT/Cco8CkjI/6JajxaeA3o2XEBbQfRMTq8PTafuBjCHTc0b0mQY7rtxUp1Gg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/button": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/dom": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/tokens": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"safevalues": "^0.3.4",
"tslib": "^2.1.0"
}
},
"node_modules/@material/top-app-bar": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-VHq0wX3OJE1TKvjO8Qtlu+rv5EGoqAhNLBcEjpUUGoqHH/gpd356FEuIqJId4pUh5jaWf8T4ZU9xVbQGMtntzw==",
- "dependencies": {
- "@material/animation": "15.0.0-canary.b994146f6.0",
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/elevation": "15.0.0-canary.b994146f6.0",
- "@material/ripple": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/shape": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
- "@material/typography": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-vJWjsvqtdSD5+yQ/9vgoBtBSCvPJ5uF/DVssv8Hdhgs1PYaAcODUi77kdi0+sy/TaWyOsTkQixqmwnFS16zesA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/elevation": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/ripple": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/shape": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/typography": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/touch-target": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-X26Y9OWvIqYOHo+sC2VMvOoeQWlUR3/yb7uPdfq92Y44zlQ4Vexgq7nEUblEiXQ8Fj+d0T9rIhRh1y9PP3Z2dw==",
- "dependencies": {
- "@material/base": "15.0.0-canary.b994146f6.0",
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/rtl": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-AqYh9fjt+tv4ZE0C6MeYHblS2H+XwLbDl2mtyrK0DOEnCVQk5/l5ImKDfhrUdFWHvS4a5nBM4AA+sa7KaroLoA==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/rtl": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@material/typography": {
- "version": "15.0.0-canary.b994146f6.0",
- "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.b994146f6.0.tgz",
- "integrity": "sha512-sWU5W30WWqdw5P6bsRx9AbvMNcz/QvQg56Syr06V6nfgSztpeuo7TfPk2J+N0ArRALo1mUrkAPk66iWYQ2p/QA==",
+ "version": "15.0.0-canary.bc9ae6c9c.0",
+ "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.bc9ae6c9c.0.tgz",
+ "integrity": "sha512-CKsG1zyv34AKPNyZC8olER2OdPII64iR2SzQjpqh1UUvmIFiMPk23LvQ1OnC5aCB14pOXzmVgvJt31r9eNdZ6Q==",
"dependencies": {
- "@material/feature-targeting": "15.0.0-canary.b994146f6.0",
- "@material/theme": "15.0.0-canary.b994146f6.0",
+ "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0",
+ "@material/theme": "15.0.0-canary.bc9ae6c9c.0",
"tslib": "^2.1.0"
}
},
"node_modules/@ngtools/webpack": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.1.3.tgz",
- "integrity": "sha512-YTL1RzP7ErJqskx+ZwdC/nWsOSBfC4yYWmMyWL2J0d+oJ3N2XIzrKVoDcZ4IVzv3Du+3zoGp0ups/wWXvfzM/Q==",
+ "version": "16.2.6",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.6.tgz",
+ "integrity": "sha512-d8ZlZL6dOtWmHdjG9PTGBkdiJMcsXD2tp6WeFRVvTEuvCI3XvKsUXBvJDE+mZOhzn5pUEYt+1TR5DHjDZbME3w==",
"dev": true,
"engines": {
"node": "^16.14.0 || >=18.10.0",
@@ -4042,124 +4344,516 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "node_modules/@nrwl/devkit": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.5.1.tgz",
+ "integrity": "sha512-NB+DE/+AFJ7lKH/WBFyatJEhcZGj25F24ncDkwjZ6MzEiSOGOJS0LaV/R+VUsmS5EHTPXYOpn3zHWWAcJhyOmA==",
"dev": true,
- "optional": true,
- "engines": {
- "node": ">=14"
+ "dependencies": {
+ "@nx/devkit": "16.5.1"
}
},
- "node_modules/@schematics/angular": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.1.3.tgz",
- "integrity": "sha512-bNSxCLf6f+/dsQ1k3PhcZhrC/qgJSCpM6h3m6ATpjR+tYW/v7WR1OyE5r3DQmDe7NJSazBvpbrRtg8xjRsMzvw==",
+ "node_modules/@nrwl/tao": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.5.1.tgz",
+ "integrity": "sha512-x+gi/fKdM6uQNIti9exFlm3V5LBP3Y8vOEziO42HdOigyrXa0S0HD2WMpccmp6PclYKhwEDUjKJ39xh5sdh4Ig==",
"dev": true,
"dependencies": {
- "@angular-devkit/core": "16.1.3",
- "@angular-devkit/schematics": "16.1.3",
- "jsonc-parser": "3.2.0"
+ "nx": "16.5.1"
+ },
+ "bin": {
+ "tao": "index.js"
+ }
+ },
+ "node_modules/@nx/devkit": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.5.1.tgz",
+ "integrity": "sha512-T1acZrVVmJw/sJ4PIGidCBYBiBqlg/jT9e8nIGXLSDS20xcLvfo4zBQf8UZLrmHglnwwpDpOWuVJCp2rYA5aDg==",
+ "dev": true,
+ "dependencies": {
+ "@nrwl/devkit": "16.5.1",
+ "ejs": "^3.1.7",
+ "ignore": "^5.0.4",
+ "semver": "7.5.3",
+ "tmp": "~0.2.1",
+ "tslib": "^2.3.0"
+ },
+ "peerDependencies": {
+ "nx": ">= 15 <= 17"
+ }
+ },
+ "node_modules/@nx/devkit/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
},
"engines": {
- "node": "^16.14.0 || >=18.10.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
+ "node": ">=10"
}
},
- "node_modules/@sigstore/protobuf-specs": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz",
- "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==",
+ "node_modules/@nx/devkit/node_modules/semver": {
+ "version": "7.5.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
+ "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
"dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": ">=10"
}
},
- "node_modules/@sigstore/tuf": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.0.tgz",
- "integrity": "sha512-bLzi9GeZgMCvjJeLUIfs8LJYCxrPRA8IXQkzUtaFKKVPTz0mucRyqFcV2U20yg9K+kYAD0YSitzGfRZCFLjdHQ==",
+ "node_modules/@nx/devkit/node_modules/tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
"dev": true,
"dependencies": {
- "@sigstore/protobuf-specs": "^0.1.0",
- "make-fetch-happen": "^11.0.1",
- "tuf-js": "^1.1.3"
+ "rimraf": "^3.0.0"
},
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": ">=8.17.0"
}
},
- "node_modules/@socket.io/component-emitter": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
- "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
+ "node_modules/@nx/devkit/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
- "node_modules/@tootallnate/once": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
- "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ "node_modules/@nx/nx-darwin-arm64": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.5.1.tgz",
+ "integrity": "sha512-q98TFI4B/9N9PmKUr1jcbtD4yAFs1HfYd9jUXXTQOlfO9SbDjnrYJgZ4Fp9rMNfrBhgIQ4x1qx0AukZccKmH9Q==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
"node": ">= 10"
}
},
- "node_modules/@tufjs/canonical-json": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
- "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==",
+ "node_modules/@nx/nx-darwin-x64": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.5.1.tgz",
+ "integrity": "sha512-j9HmL1l8k7EVJ3eOM5y8COF93gqrydpxCDoz23ZEtsY+JHY77VAiRQsmqBgEx9GGA2dXi9VEdS67B0+1vKariw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": ">= 10"
}
},
- "node_modules/@tufjs/models": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
- "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
+ "node_modules/@nx/nx-freebsd-x64": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.5.1.tgz",
+ "integrity": "sha512-CXSPT01aVS869tvCCF2tZ7LnCa8l41wJ3mTVtWBkjmRde68E5Up093hklRMyXb3kfiDYlfIKWGwrV4r0eH6x1A==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@tufjs/canonical-json": "1.0.0",
- "minimatch": "^9.0.0"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": ">= 10"
}
},
- "node_modules/@types/body-parser": {
- "version": "1.19.2",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
- "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+ "node_modules/@nx/nx-linux-arm-gnueabihf": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.5.1.tgz",
+ "integrity": "sha512-BhrumqJSZCWFfLFUKl4CAUwR0Y0G2H5EfFVGKivVecEQbb+INAek1aa6c89evg2/OvetQYsJ+51QknskwqvLsA==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@types/bonjour": {
- "version": "3.5.10",
- "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
- "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
+ "node_modules/@nx/nx-linux-arm64-gnu": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.5.1.tgz",
+ "integrity": "sha512-x7MsSG0W+X43WVv7JhiSq2eKvH2suNKdlUHEG09Yt0vm3z0bhtym1UCMUg3IUAK7jy9hhLeDaFVFkC6zo+H/XQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+ "node_modules/@nx/nx-linux-arm64-musl": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.5.1.tgz",
+ "integrity": "sha512-J+/v/mFjOm74I0PNtH5Ka+fDd+/dWbKhpcZ2R1/6b9agzZk+Ff/SrwJcSYFXXWKbPX+uQ4RcJoytT06Zs3s0ow==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@types/connect-history-api-fallback": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
- "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==",
+ "node_modules/@nx/nx-linux-x64-gnu": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.5.1.tgz",
+ "integrity": "sha512-igooWJ5YxQ94Zft7IqgL+Lw0qHaY15Btw4gfK756g/YTYLZEt4tTvR1y6RnK/wdpE3sa68bFTLVBNCGTyiTiDQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-x64-musl": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.5.1.tgz",
+ "integrity": "sha512-zF/exnPqFYbrLAduGhTmZ7zNEyADid2bzNQiIjJkh8Y6NpDwrQIwVIyvIxqynsjMrIs51kBH+8TUjKjj2Jgf5A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-win32-arm64-msvc": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.5.1.tgz",
+ "integrity": "sha512-qtqiLS9Y9TYyAbbpq58kRoOroko4ZXg5oWVqIWFHoxc5bGPweQSJCROEqd1AOl2ZDC6BxfuVHfhDDop1kK05WA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-win32-x64-msvc": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.5.1.tgz",
+ "integrity": "sha512-kUJBLakK7iyA9WfsGGQBVennA4jwf5XIgm0lu35oMOphtZIluvzItMt0EYBmylEROpmpEIhHq0P6J9FA+WH0Rg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
+ "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-addon-api": "^3.2.1",
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@pkgr/utils": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz",
+ "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "fast-glob": "^3.3.0",
+ "is-glob": "^4.0.3",
+ "open": "^9.1.0",
+ "picocolors": "^1.0.0",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
+ "node_modules/@pkgr/utils/node_modules/define-lazy-prop": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
+ "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@pkgr/utils/node_modules/open": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz",
+ "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==",
+ "dev": true,
+ "dependencies": {
+ "default-browser": "^4.0.0",
+ "define-lazy-prop": "^3.0.0",
+ "is-inside-container": "^1.0.0",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@schematics/angular": {
+ "version": "16.1.8",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.1.8.tgz",
+ "integrity": "sha512-gTHy1A/E9BCr0sj3VCr6eBYkgVkO96QWiZcFumedGnvstvp5wiCoIoJPLLfYaxVt1vt08xmnmS3OZ3r0qCLdpA==",
+ "dev": true,
+ "dependencies": {
+ "@angular-devkit/core": "16.1.8",
+ "@angular-devkit/schematics": "16.1.8",
+ "jsonc-parser": "3.2.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
+ }
+ },
+ "node_modules/@schematics/angular/node_modules/@angular-devkit/core": {
+ "version": "16.1.8",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.8.tgz",
+ "integrity": "sha512-dSRD/+bGanArIXkj+kaU1kDFleZeQMzmBiOXX+pK0Ah9/0Yn1VmY3RZh1zcX9vgIQXV+t7UPrTpOjaERMUtVGw==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "8.12.0",
+ "ajv-formats": "2.1.1",
+ "jsonc-parser": "3.2.0",
+ "rxjs": "7.8.1",
+ "source-map": "0.7.4"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
+ },
+ "peerDependencies": {
+ "chokidar": "^3.5.2"
+ },
+ "peerDependenciesMeta": {
+ "chokidar": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@sigstore/bundle": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz",
+ "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==",
+ "dev": true,
+ "dependencies": {
+ "@sigstore/protobuf-specs": "^0.2.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/protobuf-specs": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz",
+ "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==",
+ "dev": true,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/sign": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz",
+ "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==",
+ "dev": true,
+ "dependencies": {
+ "@sigstore/bundle": "^1.1.0",
+ "@sigstore/protobuf-specs": "^0.2.0",
+ "make-fetch-happen": "^11.0.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/tuf": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz",
+ "integrity": "sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==",
+ "dev": true,
+ "dependencies": {
+ "@sigstore/protobuf-specs": "^0.2.0",
+ "tuf-js": "^1.1.7"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+ "dev": true
+ },
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
+ "dev": true
+ },
+ "node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@tufjs/canonical-json": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
+ "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==",
+ "dev": true,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@tufjs/models": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
+ "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
+ "dev": true,
+ "dependencies": {
+ "@tufjs/canonical-json": "1.0.0",
+ "minimatch": "^9.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@tufjs/models/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@tufjs/models/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@types/body-parser": {
+ "version": "1.19.4",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz",
+ "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==",
+ "dev": true,
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/bonjour": {
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz",
+ "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz",
+ "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect-history-api-fallback": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz",
+ "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==",
"dev": true,
"dependencies": {
"@types/express-serve-static-core": "*",
@@ -4173,18 +4867,18 @@
"dev": true
},
"node_modules/@types/cors": {
- "version": "2.8.13",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
- "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+ "version": "2.8.15",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.15.tgz",
+ "integrity": "sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw==",
"dev": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/eslint": {
- "version": "8.40.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz",
- "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==",
+ "version": "8.44.6",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz",
+ "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==",
"dev": true,
"dependencies": {
"@types/estree": "*",
@@ -4192,9 +4886,9 @@
}
},
"node_modules/@types/eslint-scope": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
- "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
+ "version": "3.7.6",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz",
+ "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==",
"dev": true,
"dependencies": {
"@types/eslint": "*",
@@ -4202,15 +4896,15 @@
}
},
"node_modules/@types/estree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
- "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz",
+ "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==",
"dev": true
},
"node_modules/@types/express": {
- "version": "4.17.17",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz",
- "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
+ "version": "4.17.20",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz",
+ "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==",
"dev": true,
"dependencies": {
"@types/body-parser": "*",
@@ -4220,9 +4914,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "4.17.35",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz",
- "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==",
+ "version": "4.17.38",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.38.tgz",
+ "integrity": "sha512-hXOtc0tuDHZPFwwhuBJXPbjemWtXnJjbvuuyNH2Y5Z6in+iXc63c4eXYDc7GGGqHy+iwYqAJMdaItqdnbcBKmg==",
"dev": true,
"dependencies": {
"@types/node": "*",
@@ -4232,54 +4926,57 @@
}
},
"node_modules/@types/http-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz",
- "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz",
+ "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==",
"dev": true
},
"node_modules/@types/http-proxy": {
- "version": "1.17.11",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz",
- "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==",
+ "version": "1.17.13",
+ "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz",
+ "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==",
"dev": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/jasmine": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.5.tgz",
- "integrity": "sha512-9YHUdvuNDDRJYXZwHqSsO72Ok0vmqoJbNn73ttyITQp/VA60SarnZ+MPLD37rJAhVoKp+9BWOvJP5tHIRfZylQ==",
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.6.tgz",
+ "integrity": "sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==",
"dev": true
},
"node_modules/@types/json-schema": {
- "version": "7.0.12",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
- "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
+ "version": "7.0.14",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz",
+ "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==",
"dev": true
},
"node_modules/@types/mime": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
- "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz",
+ "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==",
"dev": true
},
"node_modules/@types/node": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.2.tgz",
- "integrity": "sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==",
- "dev": true
+ "version": "20.8.7",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
+ "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.25.1"
+ }
},
"node_modules/@types/qs": {
- "version": "6.9.7",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
+ "version": "6.9.9",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz",
+ "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==",
"dev": true
},
"node_modules/@types/range-parser": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
- "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz",
+ "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==",
"dev": true
},
"node_modules/@types/retry": {
@@ -4288,10 +4985,16 @@
"integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
"dev": true
},
+ "node_modules/@types/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==",
+ "dev": true
+ },
"node_modules/@types/send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
- "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
+ "version": "0.17.3",
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz",
+ "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==",
"dev": true,
"dependencies": {
"@types/mime": "^1",
@@ -4299,18 +5002,18 @@
}
},
"node_modules/@types/serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==",
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz",
+ "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==",
"dev": true,
"dependencies": {
"@types/express": "*"
}
},
"node_modules/@types/serve-static": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz",
- "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==",
+ "version": "1.15.4",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz",
+ "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==",
"dev": true,
"dependencies": {
"@types/http-errors": "*",
@@ -4319,25 +5022,248 @@
}
},
"node_modules/@types/sockjs": {
- "version": "0.3.33",
- "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
- "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==",
+ "version": "0.3.35",
+ "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz",
+ "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==",
"dev": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/ws": {
- "version": "8.5.5",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz",
- "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==",
+ "version": "8.5.8",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz",
+ "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==",
"dev": true,
"dependencies": {
"@types/node": "*"
}
},
- "node_modules/@vitejs/plugin-basic-ssl": {
- "version": "1.0.1",
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
+ "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.4.0",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/type-utils": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
+ "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+ "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz",
+ "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
+ "debug": "^4.3.4",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
+ "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
+ "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/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/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+ "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+ "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
+ "node_modules/@vitejs/plugin-basic-ssl": {
+ "version": "1.0.1",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz",
"integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==",
"dev": true,
@@ -4494,6 +5420,99 @@
"@xtuc/long": "4.2.2"
}
},
+ "node_modules/@wessberg/ts-evaluator": {
+ "version": "0.0.27",
+ "resolved": "https://registry.npmjs.org/@wessberg/ts-evaluator/-/ts-evaluator-0.0.27.tgz",
+ "integrity": "sha512-7gOpVm3yYojUp/Yn7F4ZybJRxyqfMNf0LXK5KJiawbPfL0XTsJV+0mgrEDjOIR6Bi0OYk2Cyg4tjFu1r8MCZaA==",
+ "deprecated": "this package has been renamed to ts-evaluator. Please install ts-evaluator instead",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "jsdom": "^16.4.0",
+ "object-path": "^0.11.5",
+ "tslib": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=10.1.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/wessberg/ts-evaluator?sponsor=1"
+ },
+ "peerDependencies": {
+ "typescript": ">=3.2.x || >= 4.x"
+ }
+ },
+ "node_modules/@wessberg/ts-evaluator/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/@wessberg/ts-evaluator/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/@wessberg/ts-evaluator/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/@wessberg/ts-evaluator/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/@wessberg/ts-evaluator/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/@wessberg/ts-evaluator/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/@xtuc/ieee754": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
@@ -4512,6 +5531,37 @@
"integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
"dev": true
},
+ "node_modules/@yarnpkg/parsers": {
+ "version": "3.0.0-rc.46",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz",
+ "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==",
+ "dev": true,
+ "dependencies": {
+ "js-yaml": "^3.10.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=14.15.0"
+ }
+ },
+ "node_modules/@zkochan/js-yaml": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
+ "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@zkochan/js-yaml/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
"node_modules/abab": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
@@ -4538,9 +5588,31 @@
}
},
"node_modules/acorn": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz",
- "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
+ "version": "8.10.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
+ "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ }
+ },
+ "node_modules/acorn-globals/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -4558,6 +5630,24 @@
"acorn": "^8"
}
},
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/adjust-sourcemap-loader": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
@@ -4598,13 +5688,11 @@
}
},
"node_modules/agentkeepalive": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
- "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
+ "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
"dev": true,
"dependencies": {
- "debug": "^4.1.0",
- "depd": "^2.0.0",
"humanize-ms": "^1.2.1"
},
"engines": {
@@ -4767,16 +5855,46 @@
"sprintf-js": "~1.0.2"
}
},
+ "node_modules/aria-query": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+ "dev": true,
+ "dependencies": {
+ "dequal": "^2.0.3"
+ }
+ },
"node_modules/array-flatten": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
"integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
"dev": true
},
- "node_modules/autoprefixer": {
- "version": "10.4.14",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
- "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
+ "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/async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "dev": true
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true
+ },
+ "node_modules/autoprefixer": {
+ "version": "10.4.14",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
+ "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
"dev": true,
"funding": [
{
@@ -4806,13 +5924,47 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/axios": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz",
+ "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==",
+ "dev": true,
+ "dependencies": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/axios/node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/axobject-query": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz",
+ "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==",
+ "dev": true,
+ "dependencies": {
+ "dequal": "^2.0.3"
+ }
+ },
"node_modules/babel-loader": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz",
- "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==",
+ "version": "9.1.3",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz",
+ "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==",
"dev": true,
"dependencies": {
- "find-cache-dir": "^3.3.2",
+ "find-cache-dir": "^4.0.0",
"schema-utils": "^4.0.0"
},
"engines": {
@@ -4840,17 +5992,17 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz",
- "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==",
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz",
+ "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.17.7",
- "@babel/helper-define-polyfill-provider": "^0.4.0",
- "semver": "^6.1.1"
+ "@babel/compat-data": "^7.22.6",
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
+ "semver": "^6.3.1"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
@@ -4863,28 +6015,28 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz",
- "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==",
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz",
+ "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==",
"dev": true,
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.0",
- "core-js-compat": "^3.30.1"
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
+ "core-js-compat": "^3.32.2"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz",
- "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz",
+ "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==",
"dev": true,
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.0"
+ "@babel/helper-define-polyfill-provider": "^0.4.3"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/balanced-match": {
@@ -4928,6 +6080,15 @@
"integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
"dev": true
},
+ "node_modules/big-integer": {
+ "version": "1.6.51",
+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
+ "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
"node_modules/big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
@@ -5014,13 +6175,26 @@
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
"dev": true
},
+ "node_modules/bplist-parser": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
+ "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
+ "dev": true,
+ "dependencies": {
+ "big-integer": "^1.6.44"
+ },
+ "engines": {
+ "node": ">= 5.10.0"
+ }
+ },
"node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "version": "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"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
"node_modules/braces": {
@@ -5035,10 +6209,16 @@
"node": ">=8"
}
},
+ "node_modules/browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
+ "dev": true
+ },
"node_modules/browserslist": {
- "version": "4.21.9",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
- "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==",
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
+ "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
"dev": true,
"funding": [
{
@@ -5055,10 +6235,10 @@
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001503",
- "electron-to-chromium": "^1.4.431",
- "node-releases": "^2.0.12",
- "update-browserslist-db": "^1.0.11"
+ "caniuse-lite": "^1.0.30001541",
+ "electron-to-chromium": "^1.4.535",
+ "node-releases": "^2.0.13",
+ "update-browserslist-db": "^1.0.13"
},
"bin": {
"browserslist": "cli.js"
@@ -5106,6 +6286,21 @@
"semver": "^7.0.0"
}
},
+ "node_modules/bundle-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz",
+ "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==",
+ "dev": true,
+ "dependencies": {
+ "run-applescript": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/bytes": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -5116,16 +6311,16 @@
}
},
"node_modules/cacache": {
- "version": "17.1.3",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz",
- "integrity": "sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==",
+ "version": "17.1.4",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz",
+ "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==",
"dev": true,
"dependencies": {
"@npmcli/fs": "^3.1.0",
"fs-minipass": "^3.0.0",
"glob": "^10.2.2",
"lru-cache": "^7.7.1",
- "minipass": "^5.0.0",
+ "minipass": "^7.0.3",
"minipass-collect": "^1.0.2",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
@@ -5138,6 +6333,37 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/cacache/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/cacache/node_modules/glob": {
+ "version": "10.3.10",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
+ "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+ "dev": true,
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.3.5",
+ "minimatch": "^9.0.1",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+ "path-scurry": "^1.10.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/cacache/node_modules/lru-cache": {
"version": "7.18.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
@@ -5147,6 +6373,30 @@
"node": ">=12"
}
},
+ "node_modules/cacache/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/cacache/node_modules/minipass": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+ "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
"node_modules/call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
@@ -5179,9 +6429,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001509",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz",
- "integrity": "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==",
+ "version": "1.0.30001551",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz",
+ "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==",
"dev": true,
"funding": [
{
@@ -5285,9 +6535,9 @@
}
},
"node_modules/cli-spinners": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz",
- "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==",
+ "version": "2.9.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz",
+ "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==",
"dev": true,
"engines": {
"node": ">=6"
@@ -5296,6 +6546,15 @@
"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/cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
@@ -5363,18 +6622,39 @@
"integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
"dev": true
},
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
- "node_modules/commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+ "node_modules/common-path-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
+ "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
"dev": true
},
+ "node_modules/common-tags": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
+ "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -5577,12 +6857,12 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.31.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz",
- "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==",
+ "version": "3.33.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz",
+ "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==",
"dev": true,
"dependencies": {
- "browserslist": "^4.21.5"
+ "browserslist": "^4.22.1"
},
"funding": {
"type": "opencollective",
@@ -5609,14 +6889,14 @@
}
},
"node_modules/cosmiconfig": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz",
- "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==",
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+ "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
"dev": true,
"dependencies": {
- "import-fresh": "^3.2.1",
+ "import-fresh": "^3.3.0",
"js-yaml": "^4.1.0",
- "parse-json": "^5.0.0",
+ "parse-json": "^5.2.0",
"path-type": "^4.0.0"
},
"engines": {
@@ -5624,6 +6904,14 @@
},
"funding": {
"url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
"node_modules/cosmiconfig/node_modules/argparse": {
@@ -5645,9 +6933,9 @@
}
},
"node_modules/critters": {
- "version": "0.0.19",
- "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.19.tgz",
- "integrity": "sha512-Fm4ZAXsG0VzWy1U30rP4qxbaWGSsqXDgSupJW1OUJGDAs0KWC+j37v7p5a2kZ9BPJvhRzWm3be+Hc9WvQOBUOw==",
+ "version": "0.0.20",
+ "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.20.tgz",
+ "integrity": "sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==",
"dev": true,
"dependencies": {
"chalk": "^4.1.0",
@@ -5743,6 +7031,21 @@
"node": ">= 8"
}
},
+ "node_modules/cross-spawn/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/css-loader": {
"version": "6.8.1",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz",
@@ -5809,12 +7112,50 @@
"node": ">=4"
}
},
+ "node_modules/cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+ "dev": true
+ },
+ "node_modules/cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dev": true,
+ "dependencies": {
+ "cssom": "~0.3.6"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cssstyle/node_modules/cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+ "dev": true
+ },
"node_modules/custom-event": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
"integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==",
"dev": true
},
+ "node_modules/data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "dev": true,
+ "dependencies": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/date-format": {
"version": "4.0.14",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
@@ -5841,88 +7182,268 @@
}
}
},
- "node_modules/default-gateway": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
- "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
+ "node_modules/decimal.js": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
+ "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
+ "dev": true
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "node_modules/default-browser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz",
+ "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==",
"dev": true,
"dependencies": {
- "execa": "^5.0.0"
+ "bundle-name": "^3.0.0",
+ "default-browser-id": "^3.0.0",
+ "execa": "^7.1.1",
+ "titleize": "^3.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/defaults": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
- "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "node_modules/default-browser-id": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz",
+ "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==",
"dev": true,
"dependencies": {
- "clone": "^1.0.2"
+ "bplist-parser": "^0.2.0",
+ "untildify": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/define-lazy-prop": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "node_modules/default-browser/node_modules/execa": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz",
+ "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==",
"dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.1",
+ "human-signals": "^4.3.0",
+ "is-stream": "^3.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^5.1.0",
+ "onetime": "^6.0.0",
+ "signal-exit": "^3.0.7",
+ "strip-final-newline": "^3.0.0"
+ },
"engines": {
- "node": ">=8"
+ "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
- "dev": true
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "node_modules/default-browser/node_modules/human-signals": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
+ "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
"dev": true,
"engines": {
- "node": ">= 0.8"
+ "node": ">=14.18.0"
}
},
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "node_modules/default-browser/node_modules/is-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
"dev": true,
"engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/detect-node": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
- "dev": true
- },
- "node_modules/di": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
- "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==",
- "dev": true
- },
- "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==",
+ "node_modules/default-browser/node_modules/mimic-fn": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
+ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
"dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-browser/node_modules/npm-run-path": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-browser/node_modules/onetime": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-browser/node_modules/path-key": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-browser/node_modules/strip-final-newline": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
+ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-gateway": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
+ "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
+ "dev": true,
+ "dependencies": {
+ "execa": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/defaults": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "dev": true,
+ "dependencies": {
+ "clone": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+ "dev": true
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-node": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
+ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
+ "dev": true
+ },
+ "node_modules/di": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==",
+ "dev": true
+ },
+ "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/dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+ "dev": true
+ },
"node_modules/dns-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
@@ -5930,9 +7451,9 @@
"dev": true
},
"node_modules/dns-packet": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz",
- "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz",
+ "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==",
"dev": true,
"dependencies": {
"@leichtgewicht/ip-codec": "^2.0.1"
@@ -5941,6 +7462,18 @@
"node": ">=6"
}
},
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/dom-serialize": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
@@ -5979,6 +7512,27 @@
}
]
},
+ "node_modules/domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+ "dev": true,
+ "dependencies": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/domexception/node_modules/webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/domhandler": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
@@ -6008,6 +7562,21 @@
"url": "https://github.com/fb55/domutils?sponsor=1"
}
},
+ "node_modules/dotenv": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+ "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true
+ },
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -6020,10 +7589,25 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
"dev": true
},
+ "node_modules/ejs": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
+ "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+ "dev": true,
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/electron-to-chromium": {
- "version": "1.4.445",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.445.tgz",
- "integrity": "sha512-++DB+9VK8SBJwC+X1zlMfJ1tMA3F0ipi39GdEp+x3cV2TyBihqAgad8cNMWtLDEkbH39nlDQP7PfGrDr3Dr7HA==",
+ "version": "1.4.559",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.559.tgz",
+ "integrity": "sha512-iS7KhLYCSJbdo3rUSkhDTVuFNCV34RKs2UaB9Ecr7VlqzjjWW//0nfsFF5dtDmyXlZQaDYYtID5fjtC/6lpRug==",
"dev": true
},
"node_modules/emoji-regex": {
@@ -6073,10 +7657,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
"node_modules/engine.io": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.1.tgz",
- "integrity": "sha512-mGqhI+D7YxS9KJMppR6Iuo37Ed3abhU8NdfgSvJSDUafQutrN+sPTncJYTyM9+tkhSmWodKtVYGPPHyXJEwEQA==",
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.3.tgz",
+ "integrity": "sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw==",
"dev": true,
"dependencies": {
"@types/cookie": "^0.4.1",
@@ -6087,20 +7680,41 @@
"cookie": "~0.4.1",
"cors": "~2.8.5",
"debug": "~4.3.1",
- "engine.io-parser": "~5.1.0",
+ "engine.io-parser": "~5.2.1",
"ws": "~8.11.0"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=10.2.0"
}
},
"node_modules/engine.io-parser": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.1.0.tgz",
- "integrity": "sha512-enySgNiK5tyZFynt3z7iqBR+Bto9EVVVvDFuTT0ioHCGbzirZVGDGiQjZzEp8hWl6hd5FSVytJGuScX1C1C35w==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz",
+ "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/engine.io/node_modules/ws": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
+ "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
"dev": true,
"engines": {
"node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
}
},
"node_modules/enhanced-resolve": {
@@ -6116,6 +7730,18 @@
"node": ">=10.13.0"
}
},
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
"node_modules/ent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
@@ -6134,133 +7760,548 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/env-paths": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
- "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "node_modules/env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/err-code": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+ "dev": true
+ },
+ "node_modules/errno": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+ "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "prr": "~1.0.1"
+ },
+ "bin": {
+ "errno": "cli.js"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz",
+ "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==",
+ "dev": true
+ },
+ "node_modules/esbuild": {
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz",
+ "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.18.17",
+ "@esbuild/android-arm64": "0.18.17",
+ "@esbuild/android-x64": "0.18.17",
+ "@esbuild/darwin-arm64": "0.18.17",
+ "@esbuild/darwin-x64": "0.18.17",
+ "@esbuild/freebsd-arm64": "0.18.17",
+ "@esbuild/freebsd-x64": "0.18.17",
+ "@esbuild/linux-arm": "0.18.17",
+ "@esbuild/linux-arm64": "0.18.17",
+ "@esbuild/linux-ia32": "0.18.17",
+ "@esbuild/linux-loong64": "0.18.17",
+ "@esbuild/linux-mips64el": "0.18.17",
+ "@esbuild/linux-ppc64": "0.18.17",
+ "@esbuild/linux-riscv64": "0.18.17",
+ "@esbuild/linux-s390x": "0.18.17",
+ "@esbuild/linux-x64": "0.18.17",
+ "@esbuild/netbsd-x64": "0.18.17",
+ "@esbuild/openbsd-x64": "0.18.17",
+ "@esbuild/sunos-x64": "0.18.17",
+ "@esbuild/win32-arm64": "0.18.17",
+ "@esbuild/win32-ia32": "0.18.17",
+ "@esbuild/win32-x64": "0.18.17"
+ }
+ },
+ "node_modules/esbuild-wasm": {
+ "version": "0.18.17",
+ "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.18.17.tgz",
+ "integrity": "sha512-9OHGcuRzy+I8ziF9FzjfKLWAPbvi0e/metACVg9k6bK+SI4FFxeV6PcZsz8RIVaMD4YNehw+qj6UMR3+qj/EuQ==",
+ "dev": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/escodegen": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+ "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+ "dev": true,
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/escodegen/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,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.52.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz",
+ "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.2",
+ "@eslint/js": "8.52.0",
+ "@humanwhocodes/config-array": "^0.11.13",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-prettier": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz",
+ "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==",
+ "dev": true,
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-prettier": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz",
+ "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==",
+ "dev": true,
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0",
+ "synckit": "^0.8.5"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/prettier"
+ },
+ "peerDependencies": {
+ "@types/eslint": ">=8.0.0",
+ "eslint": ">=8.0.0",
+ "prettier": ">=3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/eslint": {
+ "optional": true
+ },
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-scope/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/eslint/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/eslint/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/eslint/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/eslint/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/eslint/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/eslint/node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/eslint/node_modules/globals": {
+ "version": "13.23.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
+ "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/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/eslint/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
- "engines": {
- "node": ">=6"
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/err-code": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
- "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+ "node_modules/eslint/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
- "node_modules/errno": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
- "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+ "node_modules/eslint/node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
- "optional": true,
"dependencies": {
- "prr": "~1.0.1"
+ "p-locate": "^5.0.0"
},
- "bin": {
- "errno": "cli.js"
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "node_modules/eslint/node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"dependencies": {
- "is-arrayish": "^0.2.1"
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/es-module-lexer": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz",
- "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==",
- "dev": true
- },
- "node_modules/esbuild": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
- "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
+ "node_modules/eslint/node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
+ "dependencies": {
+ "p-limit": "^3.0.2"
},
"engines": {
- "node": ">=12"
+ "node": ">=10"
},
- "optionalDependencies": {
- "@esbuild/android-arm": "0.17.19",
- "@esbuild/android-arm64": "0.17.19",
- "@esbuild/android-x64": "0.17.19",
- "@esbuild/darwin-arm64": "0.17.19",
- "@esbuild/darwin-x64": "0.17.19",
- "@esbuild/freebsd-arm64": "0.17.19",
- "@esbuild/freebsd-x64": "0.17.19",
- "@esbuild/linux-arm": "0.17.19",
- "@esbuild/linux-arm64": "0.17.19",
- "@esbuild/linux-ia32": "0.17.19",
- "@esbuild/linux-loong64": "0.17.19",
- "@esbuild/linux-mips64el": "0.17.19",
- "@esbuild/linux-ppc64": "0.17.19",
- "@esbuild/linux-riscv64": "0.17.19",
- "@esbuild/linux-s390x": "0.17.19",
- "@esbuild/linux-x64": "0.17.19",
- "@esbuild/netbsd-x64": "0.17.19",
- "@esbuild/openbsd-x64": "0.17.19",
- "@esbuild/sunos-x64": "0.17.19",
- "@esbuild/win32-arm64": "0.17.19",
- "@esbuild/win32-ia32": "0.17.19",
- "@esbuild/win32-x64": "0.17.19"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/esbuild-wasm": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.19.tgz",
- "integrity": "sha512-X9UQEMJMZXwlGCfqcBmJ1jEa+KrLfd+gCBypO/TSzo5hZvbVwFqpxj1YCuX54ptTF75wxmrgorR4RL40AKtLVg==",
+ "node_modules/eslint/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,
- "bin": {
- "esbuild": "bin/esbuild"
+ "dependencies": {
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=8"
}
},
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "node_modules/eslint/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true,
"engines": {
- "node": ">=6"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "node_modules/eslint/node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
"engines": {
- "node": ">=0.8.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "node_modules/espree": {
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
"dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
},
"engines": {
- "node": ">=8.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
"node_modules/esprima": {
@@ -6276,6 +8317,18 @@
"node": ">=4"
}
},
+ "node_modules/esquery": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
"node_modules/esrecurse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
@@ -6288,7 +8341,7 @@
"node": ">=4.0"
}
},
- "node_modules/esrecurse/node_modules/estraverse": {
+ "node_modules/estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
@@ -6297,15 +8350,6 @@
"node": ">=4.0"
}
},
- "node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
"node_modules/esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -6368,12 +8412,6 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/execa/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/exponential-backoff": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz",
@@ -6544,10 +8582,16 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
+ "node_modules/fast-diff": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
+ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
+ "dev": true
+ },
"node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
+ "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
"dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
@@ -6566,6 +8610,12 @@
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
},
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
+ },
"node_modules/fastq": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
@@ -6602,6 +8652,48 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dev": true,
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -6660,20 +8752,19 @@
}
},
"node_modules/find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz",
+ "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==",
"dev": true,
"dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
+ "common-path-prefix": "^3.0.0",
+ "pkg-dir": "^7.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.16"
},
"funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/find-up": {
@@ -6689,16 +8780,39 @@
"node": ">=8"
}
},
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true,
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz",
+ "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "version": "3.2.9",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
+ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
"dev": true
},
"node_modules/follow-redirects": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
+ "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
"dev": true,
"funding": [
{
@@ -6731,6 +8845,32 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/foreground-child/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "dev": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -6741,16 +8881,16 @@
}
},
"node_modules/fraction.js": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+ "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
"dev": true,
"engines": {
"node": "*"
},
"funding": {
"type": "patreon",
- "url": "https://www.patreon.com/infusion"
+ "url": "https://github.com/sponsors/rawify"
}
},
"node_modules/fresh": {
@@ -6762,6 +8902,12 @@
"node": ">= 0.6"
}
},
+ "node_modules/fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true
+ },
"node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
@@ -6777,21 +8923,30 @@
}
},
"node_modules/fs-minipass": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz",
- "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz",
+ "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==",
"dev": true,
"dependencies": {
- "minipass": "^5.0.0"
+ "minipass": "^7.0.3"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/fs-minipass/node_modules/minipass": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+ "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
"node_modules/fs-monkey": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz",
- "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz",
+ "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==",
"dev": true
},
"node_modules/fs.realpath": {
@@ -6801,9 +8956,9 @@
"dev": true
},
"node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
"hasInstallScript": true,
"optional": true,
@@ -6815,10 +8970,13 @@
}
},
"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
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/gauge": {
"version": "4.0.4",
@@ -6839,12 +8997,6 @@
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/gauge/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/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
@@ -6900,22 +9052,20 @@
}
},
"node_modules/glob": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.1.tgz",
- "integrity": "sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw==",
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^2.0.3",
- "minimatch": "^9.0.1",
- "minipass": "^5.0.0 || ^6.0.2",
- "path-scurry": "^1.10.0"
- },
- "bin": {
- "glob": "dist/cjs/src/bin.js"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "*"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -6949,14 +9099,14 @@
}
},
"node_modules/globby": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.0.tgz",
- "integrity": "sha512-jWsQfayf13NvqKUIL3Ta+CIqMnvlaIDFveWE/dpOZ9+3AMEJozsxDvKA02zync9UuvOM8rOXzsD5GqKP4OnWPQ==",
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
+ "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
"dev": true,
"dependencies": {
"dir-glob": "^3.0.1",
- "fast-glob": "^3.2.11",
- "ignore": "^5.2.0",
+ "fast-glob": "^3.3.0",
+ "ignore": "^5.2.4",
"merge2": "^1.4.1",
"slash": "^4.0.0"
},
@@ -6973,6 +9123,24 @@
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true
+ },
+ "node_modules/guess-parser": {
+ "version": "0.4.22",
+ "resolved": "https://registry.npmjs.org/guess-parser/-/guess-parser-0.4.22.tgz",
+ "integrity": "sha512-KcUWZ5ACGaBM69SbqwVIuWGoSAgD+9iJnchR9j/IarVI1jHVeXv+bUXBIMeqVMSKt3zrn0Dgf9UpcOEpPBLbSg==",
+ "dev": true,
+ "dependencies": {
+ "@wessberg/ts-evaluator": "0.0.27"
+ },
+ "peerDependencies": {
+ "typescript": ">=3.7.5"
+ }
+ },
"node_modules/handle-thing": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
@@ -6980,15 +9148,33 @@
"dev": true
},
"node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz",
+ "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
"dev": true,
"dependencies": {
- "function-bind": "^1.1.1"
+ "ansi-regex": "^2.0.0"
},
"engines": {
- "node": ">= 0.4.0"
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-ansi/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/has-flag": {
@@ -7110,6 +9296,18 @@
"safe-buffer": "~5.1.0"
}
},
+ "node_modules/html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "dev": true,
+ "dependencies": {
+ "whatwg-encoding": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/html-entities": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz",
@@ -7209,12 +9407,12 @@
}
},
"node_modules/http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
"dev": true,
"dependencies": {
- "@tootallnate/once": "2",
+ "@tootallnate/once": "1",
"agent-base": "6",
"debug": "4"
},
@@ -7342,6 +9540,30 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/ignore-walk/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/ignore-walk/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/image-size": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
@@ -7356,9 +9578,9 @@
}
},
"node_modules/immutable": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
- "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz",
+ "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
"dev": true
},
"node_modules/import-fresh": {
@@ -7429,6 +9651,102 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/inquirer": {
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+ "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
+ "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.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/inquirer/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/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/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/inquirer/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/inquirer/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/inquirer/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/ip": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
@@ -7463,9 +9781,9 @@
}
},
"node_modules/is-core-module": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz",
- "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==",
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
+ "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
@@ -7519,6 +9837,39 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-inside-container": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
+ "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
+ "dev": true,
+ "dependencies": {
+ "is-docker": "^3.0.0"
+ },
+ "bin": {
+ "is-inside-container": "cli.js"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-inside-container/node_modules/is-docker": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-interactive": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
@@ -7543,6 +9894,15 @@
"node": ">=0.12.0"
}
},
+ "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-obj": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
@@ -7567,6 +9927,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
+ "dev": true
+ },
"node_modules/is-stream": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
@@ -7677,17 +10043,17 @@
}
},
"node_modules/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
"dev": true,
"dependencies": {
"istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
+ "make-dir": "^4.0.0",
"supports-color": "^7.1.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
}
},
"node_modules/istanbul-lib-report/node_modules/has-flag": {
@@ -7735,9 +10101,9 @@
}
},
"node_modules/istanbul-reports": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
- "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz",
+ "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==",
"dev": true,
"dependencies": {
"html-escaper": "^2.0.0",
@@ -7748,9 +10114,9 @@
}
},
"node_modules/jackspeak": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz",
- "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==",
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
+ "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
"dev": true,
"dependencies": {
"@isaacs/cliui": "^8.0.2"
@@ -7765,6 +10131,94 @@
"@pkgjs/parseargs": "^0.11.0"
}
},
+ "node_modules/jake": {
+ "version": "10.8.7",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz",
+ "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==",
+ "dev": true,
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jake/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/jake/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/jake/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/jake/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/jake/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/jake/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/jasmine-core": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz",
@@ -7810,9 +10264,9 @@
}
},
"node_modules/jiti": {
- "version": "1.18.2",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
- "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz",
+ "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==",
"dev": true,
"bin": {
"jiti": "bin/jiti.js"
@@ -7837,6 +10291,58 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsdom": {
+ "version": "16.7.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+ "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
+ "dev": true,
+ "dependencies": {
+ "abab": "^2.0.5",
+ "acorn": "^8.2.4",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "form-data": "^3.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.5.0",
+ "ws": "^7.4.6",
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "canvas": "^2.5.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jsdom/node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -7849,6 +10355,12 @@
"node": ">=4"
}
},
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -7861,6 +10373,12 @@
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
"node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
@@ -7944,18 +10462,6 @@
"which": "^1.2.1"
}
},
- "node_modules/karma-chrome-launcher/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/karma-coverage": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
@@ -7973,28 +10479,6 @@
"node": ">=10.0.0"
}
},
- "node_modules/karma-coverage/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/karma-coverage/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/karma-jasmine": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz",
@@ -8030,16 +10514,6 @@
"source-map-support": "^0.5.5"
}
},
- "node_modules/karma/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/karma/node_modules/cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -8051,38 +10525,6 @@
"wrap-ansi": "^7.0.0"
}
},
- "node_modules/karma/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/karma/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/karma/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -8131,6 +10573,15 @@
"node": ">=10"
}
},
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
"node_modules/kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -8150,13 +10601,13 @@
}
},
"node_modules/launch-editor": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz",
- "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz",
+ "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==",
"dev": true,
"dependencies": {
"picocolors": "^1.0.0",
- "shell-quote": "^1.7.3"
+ "shell-quote": "^1.8.1"
}
},
"node_modules/less": {
@@ -8252,6 +10703,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
"node_modules/license-webpack-plugin": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz",
@@ -8317,6 +10781,12 @@
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
"dev": true
},
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
"node_modules/log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -8419,6 +10889,84 @@
"node": ">=8.0"
}
},
+ "node_modules/loglevel": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz",
+ "integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6.0"
+ },
+ "funding": {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/loglevel"
+ }
+ },
+ "node_modules/loglevel-colored-level-prefix": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz",
+ "integrity": "sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^1.1.3",
+ "loglevel": "^1.4.1"
+ }
+ },
+ "node_modules/loglevel-colored-level-prefix/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/loglevel-colored-level-prefix/node_modules/ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/loglevel-colored-level-prefix/node_modules/chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/loglevel-colored-level-prefix/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/loglevel-colored-level-prefix/node_modules/supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -8429,41 +10977,32 @@
}
},
"node_modules/magic-string": {
- "version": "0.30.0",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
- "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz",
+ "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==",
"dev": true,
"dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.13"
+ "@jridgewell/sourcemap-codec": "^1.4.15"
},
"engines": {
"node": ">=12"
}
},
"node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
"dev": true,
"dependencies": {
- "semver": "^6.0.0"
+ "semver": "^7.5.3"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/make-fetch-happen": {
"version": "11.1.1",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
@@ -8490,6 +11029,29 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/make-fetch-happen/node_modules/@tootallnate/once": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/make-fetch-happen/node_modules/http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "dependencies": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/make-fetch-happen/node_modules/lru-cache": {
"version": "7.18.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
@@ -8631,18 +11193,15 @@
"dev": true
},
"node_modules/minimatch": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz",
- "integrity": "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==",
+ "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": "^2.0.1"
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": "*"
}
},
"node_modules/minimist": {
@@ -8694,12 +11253,12 @@
"dev": true
},
"node_modules/minipass-fetch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
- "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz",
+ "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==",
"dev": true,
"dependencies": {
- "minipass": "^5.0.0",
+ "minipass": "^7.0.3",
"minipass-sized": "^1.0.3",
"minizlib": "^2.1.2"
},
@@ -8710,6 +11269,15 @@
"encoding": "^0.1.13"
}
},
+ "node_modules/minipass-fetch/node_modules/minipass": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+ "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
"node_modules/minipass-flush": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
@@ -8899,6 +11467,12 @@
"multicast-dns": "cli.js"
}
},
+ "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/nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
@@ -8917,6 +11491,18 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "node_modules/natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+ "dev": true
+ },
"node_modules/needle": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz",
@@ -8973,6 +11559,19 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
+ "node_modules/ngx-mask": {
+ "version": "16.3.9",
+ "resolved": "https://registry.npmjs.org/ngx-mask/-/ngx-mask-16.3.9.tgz",
+ "integrity": "sha512-cptsvlI4OLI8Tpj23ZgSQDKz5jksyWGzAuEEn5pd58cq2oFGeeHZS2i1SQQi8kp+a+Dh/2RvDsfFmDWmI5Ln9w==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "peerDependencies": {
+ "@angular/common": ">=14.0.0",
+ "@angular/core": ">=14.0.0",
+ "@angular/forms": ">=14.0.0"
+ }
+ },
"node_modules/nice-napi": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
@@ -8992,8 +11591,7 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
- "dev": true,
- "optional": true
+ "dev": true
},
"node_modules/node-forge": {
"version": "1.3.1",
@@ -9029,64 +11627,36 @@
"node": "^12.13 || ^14.13 || >=16"
}
},
- "node_modules/node-gyp-build": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz",
- "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==",
- "dev": true,
- "optional": true,
- "bin": {
- "node-gyp-build": "bin.js",
- "node-gyp-build-optional": "optional.js",
- "node-gyp-build-test": "build-test.js"
- }
- },
- "node_modules/node-gyp/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/node-gyp/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/node-gyp/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "node_modules/node-gyp-build": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz",
+ "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==",
+ "dev": true,
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ },
+ "node_modules/node-gyp/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
},
"engines": {
- "node": "*"
+ "node": ">= 8"
}
},
"node_modules/node-releases": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz",
- "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==",
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
+ "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
"dev": true
},
"node_modules/nopt": {
@@ -9150,9 +11720,9 @@
}
},
"node_modules/npm-install-checks": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz",
- "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz",
+ "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==",
"dev": true,
"dependencies": {
"semver": "^7.1.1"
@@ -9227,48 +11797,369 @@
"proc-log": "^3.0.0"
},
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "dev": true,
+ "dependencies": {
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dev": true,
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
+ "node_modules/nwsapi": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz",
+ "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==",
+ "dev": true
+ },
+ "node_modules/nx": {
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-16.5.1.tgz",
+ "integrity": "sha512-I3hJRE4hG7JWAtncWwDEO3GVeGPpN0TtM8xH5ArZXyDuVeTth/i3TtJzdDzqXO1HHtIoAQN0xeq4n9cLuMil5g==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@nrwl/tao": "16.5.1",
+ "@parcel/watcher": "2.0.4",
+ "@yarnpkg/lockfile": "^1.1.0",
+ "@yarnpkg/parsers": "3.0.0-rc.46",
+ "@zkochan/js-yaml": "0.0.6",
+ "axios": "^1.0.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "3.1.0",
+ "cli-spinners": "2.6.1",
+ "cliui": "^7.0.2",
+ "dotenv": "~10.0.0",
+ "enquirer": "~2.3.6",
+ "fast-glob": "3.2.7",
+ "figures": "3.2.0",
+ "flat": "^5.0.2",
+ "fs-extra": "^11.1.0",
+ "glob": "7.1.4",
+ "ignore": "^5.0.4",
+ "js-yaml": "4.1.0",
+ "jsonc-parser": "3.2.0",
+ "lines-and-columns": "~2.0.3",
+ "minimatch": "3.0.5",
+ "npm-run-path": "^4.0.1",
+ "open": "^8.4.0",
+ "semver": "7.5.3",
+ "string-width": "^4.2.3",
+ "strong-log-transformer": "^2.1.0",
+ "tar-stream": "~2.2.0",
+ "tmp": "~0.2.1",
+ "tsconfig-paths": "^4.1.2",
+ "tslib": "^2.3.0",
+ "v8-compile-cache": "2.3.0",
+ "yargs": "^17.6.2",
+ "yargs-parser": "21.1.1"
+ },
+ "bin": {
+ "nx": "bin/nx.js"
+ },
+ "optionalDependencies": {
+ "@nx/nx-darwin-arm64": "16.5.1",
+ "@nx/nx-darwin-x64": "16.5.1",
+ "@nx/nx-freebsd-x64": "16.5.1",
+ "@nx/nx-linux-arm-gnueabihf": "16.5.1",
+ "@nx/nx-linux-arm64-gnu": "16.5.1",
+ "@nx/nx-linux-arm64-musl": "16.5.1",
+ "@nx/nx-linux-x64-gnu": "16.5.1",
+ "@nx/nx-linux-x64-musl": "16.5.1",
+ "@nx/nx-win32-arm64-msvc": "16.5.1",
+ "@nx/nx-win32-x64-msvc": "16.5.1"
+ },
+ "peerDependencies": {
+ "@swc-node/register": "^1.4.2",
+ "@swc/core": "^1.2.173"
+ },
+ "peerDependenciesMeta": {
+ "@swc-node/register": {
+ "optional": true
+ },
+ "@swc/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/nx/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/nx/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/nx/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/nx/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/nx/node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/nx/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/nx/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/nx/node_modules/fast-glob": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
+ "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "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"
+ }
+ },
+ "node_modules/nx/node_modules/fs-extra": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
+ "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/nx/node_modules/glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "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": "*"
+ }
+ },
+ "node_modules/nx/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/nx/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/nx/node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/nx/node_modules/lines-and-columns": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz",
+ "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==",
+ "dev": true,
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/nx/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/nx/node_modules/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/nx/node_modules/semver": {
+ "version": "7.5.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
+ "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "node_modules/nx/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": {
- "path-key": "^3.0.0"
+ "has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
- "node_modules/npmlog": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
- "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "node_modules/nx/node_modules/tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
"dev": true,
"dependencies": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
+ "rimraf": "^3.0.0"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": ">=8.17.0"
}
},
- "node_modules/nth-check": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "node_modules/nx/node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true,
- "dependencies": {
- "boolbase": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/fb55/nth-check?sponsor=1"
+ "engines": {
+ "node": ">= 10.0.0"
}
},
+ "node_modules/nx/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -9279,14 +12170,23 @@
}
},
"node_modules/object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.0.tgz",
+ "integrity": "sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/object-path": {
+ "version": "0.11.8",
+ "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz",
+ "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.12.0"
+ }
+ },
"node_modules/obuf": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
@@ -9355,6 +12255,23 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/optionator": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
+ "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
+ "dev": true,
+ "dependencies": {
+ "@aashutoshrathi/word-wrap": "^1.2.3",
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
"node_modules/ora": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
@@ -9688,13 +12605,13 @@
"dev": true
},
"node_modules/path-scurry": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.0.tgz",
- "integrity": "sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==",
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
+ "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
"dev": true,
"dependencies": {
"lru-cache": "^9.1.1 || ^10.0.0",
- "minipass": "^5.0.0 || ^6.0.2"
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
},
"engines": {
"node": ">=16 || 14 >=14.17"
@@ -9704,9 +12621,9 @@
}
},
"node_modules/path-scurry/node_modules/lru-cache": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz",
- "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
+ "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==",
"dev": true,
"engines": {
"node": "14 || >=16.14"
@@ -9756,9 +12673,9 @@
}
},
"node_modules/piscina": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz",
- "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.0.0.tgz",
+ "integrity": "sha512-641nAmJS4k4iqpNUqfggqUBUMmlw0ZoM5VZKdQkV2e970Inn3Tk9kroCc1wpsYLD07vCwpys5iY0d3xI/9WkTg==",
"dev": true,
"dependencies": {
"eventemitter-asyncresource": "^1.0.0",
@@ -9770,21 +12687,94 @@
}
},
"node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz",
+ "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==",
"dev": true,
"dependencies": {
- "find-up": "^4.0.0"
+ "find-up": "^6.3.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/find-up": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
+ "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^7.1.0",
+ "path-exists": "^5.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/locate-path": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
+ "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^6.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-limit": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
+ "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-locate": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
+ "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/path-exists": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
"node_modules/postcss": {
- "version": "8.4.24",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz",
- "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==",
+ "version": "8.4.31",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"dev": true,
"funding": [
{
@@ -9810,14 +12800,13 @@
}
},
"node_modules/postcss-loader": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.2.tgz",
- "integrity": "sha512-c7qDlXErX6n0VT+LUsW+nwefVtTu3ORtVvK8EXuUIDcxo+b/euYqpuHlJAvePb0Af5e8uMjR/13e0lTuYifaig==",
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz",
+ "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==",
"dev": true,
"dependencies": {
- "cosmiconfig": "^8.1.3",
+ "cosmiconfig": "^8.2.0",
"jiti": "^1.18.2",
- "klona": "^2.0.6",
"semver": "^7.3.8"
},
"engines": {
@@ -9825,91 +12814,294 @@
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "postcss": "^7.0.0 || ^8.0.1",
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/postcss-modules-extract-imports": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+ "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+ "dev": true,
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-local-by-default": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz",
+ "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==",
+ "dev": true,
+ "dependencies": {
+ "icss-utils": "^5.0.0",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-scope": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+ "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
+ "dev": true,
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.4"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+ "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
+ "dev": true,
+ "dependencies": {
+ "icss-utils": "^5.0.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.0.13",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
+ "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
+ "dev": true,
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dev": true
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
+ "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/prettier-eslint": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.1.1.tgz",
+ "integrity": "sha512-SbtugbH80njB9QOPqb8C+W40Rvhr6iD0wrJTxk1Zx10rkY7KdjtSwHpf/WfiI3REboaXbvIOJXGiua3maIt0Sw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/parser": "^6.7.5",
+ "common-tags": "^1.4.0",
+ "dlv": "^1.1.0",
+ "eslint": "^8.7.0",
+ "indent-string": "^4.0.0",
+ "lodash.merge": "^4.6.0",
+ "loglevel-colored-level-prefix": "^1.0.0",
+ "prettier": "^3.0.1",
+ "pretty-format": "^29.7.0",
+ "require-relative": "^0.8.7",
+ "typescript": "^5.2.2",
+ "vue-eslint-parser": "^9.1.0"
+ },
+ "engines": {
+ "node": ">=16.10.0"
+ }
+ },
+ "node_modules/prettier-eslint/node_modules/@typescript-eslint/parser": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.0.tgz",
+ "integrity": "sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "6.9.0",
+ "@typescript-eslint/types": "6.9.0",
+ "@typescript-eslint/typescript-estree": "6.9.0",
+ "@typescript-eslint/visitor-keys": "6.9.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/prettier-eslint/node_modules/@typescript-eslint/scope-manager": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.0.tgz",
+ "integrity": "sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "6.9.0",
+ "@typescript-eslint/visitor-keys": "6.9.0"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/prettier-eslint/node_modules/@typescript-eslint/types": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.0.tgz",
+ "integrity": "sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==",
+ "dev": true,
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/prettier-eslint/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.0.tgz",
+ "integrity": "sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "6.9.0",
+ "@typescript-eslint/visitor-keys": "6.9.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
},
- "peerDependencies": {
- "postcss": "^7.0.0 || ^8.0.1",
- "webpack": "^5.0.0"
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/postcss-modules-extract-imports": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
- "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+ "node_modules/prettier-eslint/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.0.tgz",
+ "integrity": "sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==",
"dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "6.9.0",
+ "eslint-visitor-keys": "^3.4.1"
+ },
"engines": {
- "node": "^10 || ^12 || >= 14"
+ "node": "^16.0.0 || >=18.0.0"
},
- "peerDependencies": {
- "postcss": "^8.1.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/postcss-modules-local-by-default": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz",
- "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==",
+ "node_modules/prettier-eslint/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": {
- "icss-utils": "^5.0.0",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.1.0"
+ "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 || ^12 || >= 14"
+ "node": ">=10"
},
- "peerDependencies": {
- "postcss": "^8.1.0"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/postcss-modules-scope": {
+ "node_modules/prettier-eslint/node_modules/slash": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
- "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
- "dependencies": {
- "postcss-selector-parser": "^6.0.4"
- },
"engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
+ "node": ">=8"
}
},
- "node_modules/postcss-modules-values": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
- "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
+ "node_modules/prettier-eslint/node_modules/typescript": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
+ "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
"dev": true,
- "dependencies": {
- "icss-utils": "^5.0.0"
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
},
"engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
+ "node": ">=14.17"
}
},
- "node_modules/postcss-selector-parser": {
- "version": "6.0.13",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
- "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
"dev": true,
"dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
+ "fast-diff": "^1.1.2"
},
"engines": {
- "node": ">=4"
+ "node": ">=6.0.0"
}
},
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
- },
"node_modules/pretty-bytes": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
@@ -9922,6 +13114,32 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/pretty-format": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
"node_modules/proc-log": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz",
@@ -9978,6 +13196,12 @@
"node": ">= 0.10"
}
},
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+ "dev": true
+ },
"node_modules/prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
@@ -9985,6 +13209,12 @@
"dev": true,
"optional": true
},
+ "node_modules/psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
+ "dev": true
+ },
"node_modules/punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
@@ -10018,6 +13248,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/querystringify": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+ "dev": true
+ },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -10071,6 +13307,12 @@
"node": ">= 0.8"
}
},
+ "node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
"node_modules/read-package-json": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz",
@@ -10108,6 +13350,37 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/read-package-json/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/read-package-json/node_modules/glob": {
+ "version": "10.3.10",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
+ "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+ "dev": true,
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.3.5",
+ "minimatch": "^9.0.1",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+ "path-scurry": "^1.10.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/read-package-json/node_modules/json-parse-even-better-errors": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
@@ -10117,6 +13390,21 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/read-package-json/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/readable-stream": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
@@ -10156,9 +13444,9 @@
"dev": true
},
"node_modules/regenerate-unicode-properties": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
- "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
+ "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
"dev": true,
"dependencies": {
"regenerate": "^1.4.2"
@@ -10174,9 +13462,9 @@
"dev": true
},
"node_modules/regenerator-transform": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz",
- "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==",
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
+ "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.8.4"
@@ -10244,6 +13532,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/require-relative": {
+ "version": "0.8.7",
+ "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
+ "integrity": "sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==",
+ "dev": true
+ },
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -10328,12 +13622,6 @@
"node": ">=8"
}
},
- "node_modules/restore-cursor/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/retry": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
@@ -10374,62 +13662,44 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/rimraf/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/rimraf/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "node_modules/rollup": {
+ "version": "3.29.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
+ "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
"dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "bin": {
+ "rollup": "dist/bin/rollup"
},
"engines": {
- "node": "*"
+ "node": ">=14.18.0",
+ "npm": ">=8.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
}
},
- "node_modules/rimraf/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "node_modules/run-applescript": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz",
+ "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==",
"dev": true,
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "execa": "^5.0.0"
},
"engines": {
- "node": "*"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/rollup": {
- "version": "3.25.3",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.25.3.tgz",
- "integrity": "sha512-ZT279hx8gszBj9uy5FfhoG4bZx8c+0A1sbqtr7Q3KNWIizpTdDEPZbV2xcbvHsnFp4MavCQYZyzApJ+virB8Yw==",
+ "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,
- "bin": {
- "rollup": "dist/bin/rollup"
- },
"engines": {
- "node": ">=14.18.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
+ "node": ">=0.12.0"
}
},
"node_modules/run-parallel": {
@@ -10495,9 +13765,9 @@
"integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw=="
},
"node_modules/sass": {
- "version": "1.63.2",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.2.tgz",
- "integrity": "sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww==",
+ "version": "1.64.1",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz",
+ "integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
@@ -10512,12 +13782,11 @@
}
},
"node_modules/sass-loader": {
- "version": "13.3.1",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.1.tgz",
- "integrity": "sha512-cBTxmgyVA1nXPvIK4brjJMXOMJ2v2YrQEuHqLw3LylGb3gsR6jAvdjHMcy/+JGTmmIF9SauTrLLR7bsWDMWqgg==",
+ "version": "13.3.2",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz",
+ "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==",
"dev": true,
"dependencies": {
- "klona": "^2.0.6",
"neo-async": "^2.6.2"
},
"engines": {
@@ -10550,12 +13819,24 @@
}
},
"node_modules/sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz",
+ "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==",
"dev": true,
"optional": true
},
+ "node_modules/saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+ "dev": true,
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/schema-utils": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
@@ -10594,9 +13875,9 @@
}
},
"node_modules/semver": {
- "version": "7.5.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
- "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -10854,27 +14135,22 @@
}
},
"node_modules/signal-exit": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
- "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
- "dev": true,
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
+ "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/sigstore": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.6.0.tgz",
- "integrity": "sha512-QODKff/qW/TXOZI6V/Clqu74xnInAS6it05mufj4/fSewexLtfEntgLZZcBtUK44CDQyUE5TUXYy1ARYzlfG9g==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz",
+ "integrity": "sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==",
"dev": true,
"dependencies": {
- "@sigstore/protobuf-specs": "^0.1.0",
- "@sigstore/tuf": "^1.0.0",
- "make-fetch-happen": "^11.0.1",
- "tuf-js": "^1.1.3"
+ "@sigstore/bundle": "^1.1.0",
+ "@sigstore/protobuf-specs": "^0.2.0",
+ "@sigstore/sign": "^1.0.0",
+ "@sigstore/tuf": "^1.0.3",
+ "make-fetch-happen": "^11.0.1"
},
"bin": {
"sigstore": "bin/sigstore.js"
@@ -10906,21 +14182,21 @@
}
},
"node_modules/socket.io": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.1.tgz",
- "integrity": "sha512-W+utHys2w//dhFjy7iQQu9sGd3eokCjGbl2r59tyLqNiJJBdIebn3GAKEXBr3osqHTObJi2die/25bCx2zsaaw==",
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz",
+ "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==",
"dev": true,
"dependencies": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"cors": "~2.8.5",
"debug": "~4.3.2",
- "engine.io": "~6.5.0",
+ "engine.io": "~6.5.2",
"socket.io-adapter": "~2.5.2",
"socket.io-parser": "~4.2.4"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=10.2.0"
}
},
"node_modules/socket.io-adapter": {
@@ -10932,6 +14208,27 @@
"ws": "~8.11.0"
}
},
+ "node_modules/socket.io-adapter/node_modules/ws": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
+ "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/socket.io-parser": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
@@ -11081,9 +14378,9 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
- "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
+ "version": "3.0.16",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
+ "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
"dev": true
},
"node_modules/spdy": {
@@ -11123,17 +14420,26 @@
"dev": true
},
"node_modules/ssri": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz",
- "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==",
+ "version": "10.0.5",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz",
+ "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==",
"dev": true,
"dependencies": {
- "minipass": "^5.0.0"
+ "minipass": "^7.0.3"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/ssri/node_modules/minipass": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+ "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
"node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -11220,6 +14526,15 @@
"node": ">=8"
}
},
+ "node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/strip-final-newline": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
@@ -11229,6 +14544,35 @@
"node": ">=6"
}
},
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/strong-log-transformer": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
+ "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==",
+ "dev": true,
+ "dependencies": {
+ "duplexer": "^0.1.1",
+ "minimist": "^1.2.0",
+ "through": "^2.3.4"
+ },
+ "bin": {
+ "sl-log-transformer": "bin/sl-log-transformer.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -11262,6 +14606,28 @@
"node": ">=0.10"
}
},
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+ "dev": true
+ },
+ "node_modules/synckit": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
+ "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
+ "dev": true,
+ "dependencies": {
+ "@pkgr/utils": "^2.3.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
"node_modules/tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -11272,9 +14638,9 @@
}
},
"node_modules/tar": {
- "version": "6.1.15",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
- "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
+ "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==",
"dev": true,
"dependencies": {
"chownr": "^2.0.0",
@@ -11288,6 +14654,22 @@
"node": ">=10"
}
},
+ "node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/tar/node_modules/fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
@@ -11331,9 +14713,9 @@
"dev": true
},
"node_modules/terser": {
- "version": "5.17.7",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz",
- "integrity": "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==",
+ "version": "5.19.2",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz",
+ "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==",
"dev": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -11445,48 +14827,6 @@
"node": ">=8"
}
},
- "node_modules/test-exclude/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/test-exclude/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/test-exclude/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -11505,6 +14845,18 @@
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
"dev": true
},
+ "node_modules/titleize": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz",
+ "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -11547,6 +14899,42 @@
"node": ">=0.6"
}
},
+ "node_modules/tough-cookie": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
+ "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
+ "dev": true,
+ "dependencies": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tough-cookie/node_modules/universalify": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+ "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/tree-kill": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
@@ -11556,10 +14944,57 @@
"tree-kill": "cli.js"
}
},
+ "node_modules/ts-api-utils": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz",
+ "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==",
+ "dev": true,
+ "engines": {
+ "node": ">=16.13.0"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+ "dev": true,
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/tslib": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz",
- "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA=="
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
+ "node_modules/tsutils/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
},
"node_modules/tuf-js": {
"version": "1.1.7",
@@ -11575,6 +15010,18 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
"node_modules/type-fest": {
"version": "0.21.3",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
@@ -11620,9 +15067,9 @@
}
},
"node_modules/ua-parser-js": {
- "version": "0.7.35",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz",
- "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==",
+ "version": "0.7.36",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.36.tgz",
+ "integrity": "sha512-CPPLoCts2p7D8VbybttE3P2ylv0OBZEAy7a12DsulIEcAiMtWJy+PBgMXgWDI80D5UwqE8oQPHYnk13tm38M2Q==",
"dev": true,
"funding": [
{
@@ -11632,12 +15079,22 @@
{
"type": "paypal",
"url": "https://paypal.me/faisalman"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/faisalman"
}
],
"engines": {
"node": "*"
}
},
+ "node_modules/undici-types": {
+ "version": "5.25.3",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
+ "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
+ "dev": true
+ },
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
@@ -11720,10 +15177,19 @@
"node": ">= 0.8"
}
},
+ "node_modules/untildify": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
+ "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/update-browserslist-db": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
- "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+ "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
"dev": true,
"funding": [
{
@@ -11759,6 +15225,16 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/url-parse": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+ "dev": true,
+ "dependencies": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -11783,6 +15259,12 @@
"uuid": "dist/bin/uuid"
}
},
+ "node_modules/v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
"node_modules/validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -11815,14 +15297,14 @@
}
},
"node_modules/vite": {
- "version": "4.3.9",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
- "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==",
+ "version": "4.4.7",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.7.tgz",
+ "integrity": "sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==",
"dev": true,
"dependencies": {
- "esbuild": "^0.17.5",
- "postcss": "^8.4.23",
- "rollup": "^3.21.0"
+ "esbuild": "^0.18.10",
+ "postcss": "^8.4.26",
+ "rollup": "^3.25.2"
},
"bin": {
"vite": "bin/vite.js"
@@ -11830,12 +15312,16 @@
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
"optionalDependencies": {
"fsevents": "~2.3.2"
},
"peerDependencies": {
"@types/node": ">= 14",
"less": "*",
+ "lightningcss": "^1.21.0",
"sass": "*",
"stylus": "*",
"sugarss": "*",
@@ -11848,6 +15334,9 @@
"less": {
"optional": true
},
+ "lightningcss": {
+ "optional": true
+ },
"sass": {
"optional": true
},
@@ -11871,6 +15360,68 @@
"node": ">=0.10.0"
}
},
+ "node_modules/vue-eslint-parser": {
+ "version": "9.3.2",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz",
+ "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.4",
+ "eslint-scope": "^7.1.1",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^7.3.6"
+ },
+ "engines": {
+ "node": "^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=6.0.0"
+ }
+ },
+ "node_modules/vue-eslint-parser/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.",
+ "dev": true,
+ "dependencies": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "dev": true,
+ "dependencies": {
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/watchpack": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
@@ -11902,10 +15453,19 @@
"defaults": "^1.0.3"
}
},
+ "node_modules/webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.4"
+ }
+ },
"node_modules/webpack": {
- "version": "5.86.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz",
- "integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==",
+ "version": "5.88.2",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz",
+ "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
@@ -11917,7 +15477,7 @@
"acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.14.1",
+ "enhanced-resolve": "^5.15.0",
"es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@@ -11927,7 +15487,7 @@
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
- "schema-utils": "^3.1.2",
+ "schema-utils": "^3.2.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.3.7",
"watchpack": "^2.4.0",
@@ -11978,9 +15538,9 @@
}
},
"node_modules/webpack-dev-server": {
- "version": "4.15.0",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz",
- "integrity": "sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ==",
+ "version": "4.15.1",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz",
+ "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==",
"dev": true,
"dependencies": {
"@types/bonjour": "^3.5.9",
@@ -11989,7 +15549,7 @@
"@types/serve-index": "^1.9.1",
"@types/serve-static": "^1.13.10",
"@types/sockjs": "^0.3.33",
- "@types/ws": "^8.5.1",
+ "@types/ws": "^8.5.5",
"ansi-html-community": "^0.0.8",
"bonjour-service": "^1.0.11",
"chokidar": "^3.5.3",
@@ -12060,9 +15620,9 @@
}
},
"node_modules/webpack-dev-server/node_modules/ws": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
- "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
+ "version": "8.14.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
+ "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@@ -12195,19 +15755,45 @@
"node": ">=0.8.0"
}
},
+ "node_modules/whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dev": true,
+ "dependencies": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "dev": true
+ },
+ "node_modules/whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "dev": true,
+ "dependencies": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "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": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
+ "which": "bin/which"
}
},
"node_modules/wide-align": {
@@ -12333,12 +15919,12 @@
"dev": true
},
"node_modules/ws": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
- "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
"dev": true,
"engines": {
- "node": ">=10.0.0"
+ "node": ">=8.3.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
@@ -12353,6 +15939,18 @@
}
}
},
+ "node_modules/xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+ "dev": true
+ },
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+ "dev": true
+ },
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
@@ -12395,10 +15993,22 @@
"node": ">=12"
}
},
+ "node_modules/yocto-queue": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
+ "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/zone.js": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.1.tgz",
- "integrity": "sha512-+bIeDAFEBYuXRuU3qGQvzdPap+N1zjM4KkBAiiQuVVCrHrhjDuY6VkUhNa5+U27+9w0q3fbKiMCbpJ0XzMmSWA==",
+ "version": "0.13.3",
+ "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.3.tgz",
+ "integrity": "sha512-MKPbmZie6fASC/ps4dkmIhaT5eonHkEt6eAy80K42tAm0G2W+AahLJjbfi6X9NPdciOE9GRFTTM8u2IiF6O3ww==",
"dependencies": {
"tslib": "^2.3.0"
}
diff --git a/modules/ui/package.json b/modules/ui/package.json
index 05add0189..c7ce21ec7 100644
--- a/modules/ui/package.json
+++ b/modules/ui/package.json
@@ -8,35 +8,53 @@
"watch": "ng build --watch --configuration development",
"test": "ng test",
"test:coverage": "ng test --code-coverage",
- "docker": "docker rm -f test-run-ui && docker rmi test-run-ui && docker build -t test-run-ui . && docker run -d -p 80:80 --name test-run-ui test-run-ui"
+ "test-headless": "ng test --browsers=ChromeHeadless --watch=false",
+ "docker": "docker rm -f test-run-ui && docker rmi test-run-ui && docker build -t test-run-ui . && docker run -d -p 80:80 --name test-run-ui test-run-ui",
+ "lint": "ng lint",
+ "lint:fix": "ng lint --fix",
+ "format": "npx prettier --check .",
+ "format:fix": "npx prettier --write ."
},
"private": true,
"dependencies": {
- "@angular/animations": "^16.1.0",
- "@angular/cdk": "^16.1.4",
- "@angular/common": "^16.1.0",
- "@angular/compiler": "^16.1.0",
- "@angular/core": "^16.1.0",
- "@angular/forms": "^16.1.0",
- "@angular/material": "^16.1.4",
- "@angular/platform-browser": "^16.1.0",
- "@angular/platform-browser-dynamic": "^16.1.0",
- "@angular/router": "^16.1.0",
+ "@angular/animations": "^16.2.10",
+ "@angular/cdk": "^16.2.9",
+ "@angular/common": "^16.2.10",
+ "@angular/compiler": "^16.2.10",
+ "@angular/core": "^16.2.10",
+ "@angular/forms": "^16.2.10",
+ "@angular/material": "^16.2.9",
+ "@angular/platform-browser": "^16.2.10",
+ "@angular/platform-browser-dynamic": "^16.2.10",
+ "@angular/router": "^16.2.10",
+ "ngx-mask": "^16.3.9",
"rxjs": "~7.8.0",
- "tslib": "^2.3.0",
- "zone.js": "~0.13.0"
+ "tslib": "^2.6.2",
+ "zone.js": "~0.13.3"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^16.1.3",
- "@angular/cli": "~16.1.3",
- "@angular/compiler-cli": "^16.1.0",
- "@types/jasmine": "~4.3.0",
+ "@angular-devkit/build-angular": "^16.2.6",
+ "@angular-eslint/builder": "16.2.0",
+ "@angular-eslint/eslint-plugin": "16.2.0",
+ "@angular-eslint/eslint-plugin-template": "16.2.0",
+ "@angular-eslint/schematics": "16.2.0",
+ "@angular-eslint/template-parser": "16.2.0",
+ "@angular/cli": "~16.1.8",
+ "@angular/compiler-cli": "^16.2.10",
+ "@types/jasmine": "~4.3.6",
+ "@typescript-eslint/eslint-plugin": "5.62.0",
+ "@typescript-eslint/parser": "5.62.0",
+ "eslint": "^8.49.0",
+ "eslint-config-prettier": "^9.0.0",
+ "eslint-plugin-prettier": "^5.0.1",
"jasmine-core": "~4.6.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
+ "prettier": "^3.0.3",
+ "prettier-eslint": "^16.1.1",
"typescript": "~5.1.3"
}
}
diff --git a/modules/ui/src/app/app-routing.module.ts b/modules/ui/src/app/app-routing.module.ts
index 7624dca4b..59be3e59d 100644
--- a/modules/ui/src/app/app-routing.module.ts
+++ b/modules/ui/src/app/app-routing.module.ts
@@ -13,37 +13,36 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import {NgModule} from '@angular/core';
-import {RouterModule, Routes} from '@angular/router';
-import {allowToRunTestGuard} from './guards/allow-to-run-test.guard';
-import { HashLocationStrategy, LocationStrategy } from '@angular/common';
+import { NgModule } from '@angular/core';
+import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{
- path: 'runtime',
- canActivate: [allowToRunTestGuard],
- loadChildren: () => import('./progress/progress.module').then(m => m.ProgressModule)
+ path: 'testrun',
+ loadChildren: () =>
+ import('./progress/progress.module').then(m => m.ProgressModule),
},
{
- path: 'device-repository',
- loadChildren: () => import('./device-repository/device-repository.module').then(m => m.DeviceRepositoryModule)
+ path: 'devices',
+ loadChildren: () =>
+ import('./device-repository/device-repository.module').then(
+ m => m.DeviceRepositoryModule
+ ),
},
{
- path: 'results',
- canActivate: [allowToRunTestGuard],
- loadChildren: () => import('./history/history.module').then(m => m.HistoryModule)
+ path: 'reports',
+ loadChildren: () =>
+ import('./history/history.module').then(m => m.HistoryModule),
},
{
path: '',
- redirectTo: 'runtime',
- pathMatch: 'full'
- }
+ redirectTo: 'devices',
+ pathMatch: 'full',
+ },
];
@NgModule({
- imports: [RouterModule.forRoot(routes)],
+ imports: [RouterModule.forRoot(routes, { useHash: true })],
exports: [RouterModule],
- providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}]
})
-export class AppRoutingModule {
-}
+export class AppRoutingModule {}
diff --git a/modules/ui/src/app/app.component.html b/modules/ui/src/app/app.component.html
index d4632736c..9b78ec850 100644
--- a/modules/ui/src/app/app.component.html
+++ b/modules/ui/src/app/app.component.html
@@ -13,41 +13,121 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
+
+
-