From 07ff392de82b723018274ee42bf8be8151c6b338 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 16:05:07 -0500 Subject: [PATCH 01/34] remove basic and advanced configs, only use advanced --- .github/workflows/run-playbook.yml | 1 - Makefile | 31 +++------------------- vars/default/cloudflare.yml | 30 ---------------------- vars/default/container_settings.yml | 16 ------------ vars/default/docker.yml | 3 --- vars/default/gpu.yml | 9 ------- vars/default/main.yml | 40 ----------------------------- vars/default/nas_cifs.yml | 12 --------- vars/default/nas_nfs.yml | 6 ----- vars/default/plex.yml | 3 --- vars/default/service_misc.yml | 3 --- vars/default/traefik.yml | 33 ------------------------ vars/default/transmission.yml | 24 ----------------- 13 files changed, 4 insertions(+), 207 deletions(-) delete mode 100644 vars/default/cloudflare.yml delete mode 100644 vars/default/container_settings.yml delete mode 100644 vars/default/docker.yml delete mode 100644 vars/default/gpu.yml delete mode 100644 vars/default/main.yml delete mode 100644 vars/default/nas_cifs.yml delete mode 100644 vars/default/nas_nfs.yml delete mode 100644 vars/default/plex.yml delete mode 100644 vars/default/service_misc.yml delete mode 100644 vars/default/traefik.yml delete mode 100644 vars/default/transmission.yml diff --git a/.github/workflows/run-playbook.yml b/.github/workflows/run-playbook.yml index ec8ed04..b43898b 100644 --- a/.github/workflows/run-playbook.yml +++ b/.github/workflows/run-playbook.yml @@ -24,7 +24,6 @@ jobs: sudo apt install ansible - name: Ensure base playbook requirements - # should mirror the steps for advanced config creation # does not use the `make` command since it requires input and we cannot input in a Runner run: | mkdir -p ./inventory/group_vars/all diff --git a/Makefile b/Makefile index 25f43eb..85f6c53 100644 --- a/Makefile +++ b/Makefile @@ -9,8 +9,6 @@ BASEDIR=$(shell pwd) CUSTOM_CONF_DIR = inventory/group_vars/all -PREV_CUSTOM_CONF_DIR = vars/custom - # Found and modified from: https://gist.github.com/Pierstoval/b2539c387c467c017bf2b0ace5a2e79b # To use the "confirm" target inside another target, # use the " if $(MAKE) -s confirm ; " syntax. @@ -30,19 +28,10 @@ _WARN := "\033[33m[%s]\033[0m %s\n" # Yellow text for "printf" _TITLE := "\033[32m[%s]\033[0m %s\n" # Green text for "printf" _ERROR := "\033[31m[%s]\033[0m %s\n" # Red text for "printf" -basic: - @if $(MAKE) -s confirm ; then \ - mkdir -p $(CUSTOM_CONF_DIR); \ - cp $(DEFAULT_CONFS) $(CUSTOM_CONF_DIR); \ - mv $(CUSTOM_CONF_DIR)/main.yml $(CUSTOM_CONF_DIR)/main_custom.yml; \ - chmod 0600 $(CUSTOM_CONF_DIR)/*.yml; \ - fi - -advanced: +config: @if $(MAKE) -s confirm ; then \ mkdir -p $(CUSTOM_CONF_DIR); \ cp $(ADVANCED_CONFS) $(CUSTOM_CONF_DIR); \ - mv $(CUSTOM_CONF_DIR)/main.yml $(CUSTOM_CONF_DIR)/main_custom.yml; \ chmod 0600 $(CUSTOM_CONF_DIR)/*.yml; \ fi @@ -66,23 +55,11 @@ update: @sed -i 's\hms_docker_library_path\hmsdocker_library_path\g' $(CUSTOM_CONF_DIR)/hmsd_advanced.yml @echo Update finished -# Used for the migration from the `vars/custom` directory to the correct `inventory/group_vars/all` directory -migrate-vars: - @if [ -d $(PREV_CUSTOM_CONF_DIR) ] && [ ! -L $(PREV_CUSTOM_CONF_DIR) ]; then\ - mkdir -p $(CUSTOM_CONF_DIR);\ - cp $(PREV_CUSTOM_CONF_DIR)/* $(CUSTOM_CONF_DIR);\ - rm -rf $(PREV_CUSTOM_CONF_DIR);\ - ln -s $(BASEDIR)/$(CUSTOM_CONF_DIR) $(BASEDIR)/$(PREV_CUSTOM_CONF_DIR);\ - echo Moved files and created symlink from $(PREV_CUSTOM_CONF_DIR) to $(CUSTOM_CONF_DIR);\ - elif [ -d $(PREV_CUSTOM_CONF_DIR) ] && [ -L $(PREV_CUSTOM_CONF_DIR) ]; then\ - echo "Already migrated";\ - else\ - echo "Previous variables directory does not exist at location: $(PREV_CUSTOM_CONF_DIR)";\ - fi +docs: + @docker run -p 3000:3000 -v ./gen-docs:/app -w /app node:22-alpine npm run start help: - @echo make basic :: setup a basic config - @echo make advanced :: setup an advanced config + @echo make config :: copy default config files @echo make check :: check for any changes without doing anything \(diff\) @echo make apply :: apply any changes identified in the diff @echo make install-reqs :: installs ansible galaxy role requirements diff --git a/vars/default/cloudflare.yml b/vars/default/cloudflare.yml deleted file mode 100644 index ae56473..0000000 --- a/vars/default/cloudflare.yml +++ /dev/null @@ -1,30 +0,0 @@ -### Cloudflare settings - -## DDNS -# Enables or disables the Cloudflare DDNS (Dynamic-DNS) container // default: "no" -cloudflare_ddns_enabled: no - -# Your Cloudflare API token that has read/write permissions for your DNS zone -# This will also be provided to Traefik if using SSL (assuming Cloudflare is your DNS provider) -cloudflare_api_token: "" - -# The domain that will be used for the Cloudflare DDNS container // default: "{{ hms_docker_domain }}" -# Automatically uses the same domain defined in `main.yml` -cloudflare_ddns_domain: "{{ hms_docker_domain }}" - -# The A (or AAAA) record to be created // default: "overseerr" -cloudflare_ddns_subdomain: overseerr - - - -## Cloudflare Tunnel -# Enables or disables the Cloudflare Tunnel container // default: "no" -cloudflare_tunnel_enabled: no - -# Your Cloudflare Tunnel token, see https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/remote -# Be sure to only add the actual token, it will be a very long string of random characters -cloudflare_tunnel_token: "" - -## Flaresolverr -# Enables or disables the Flaresolverr container // default: no -flaresolverr_enabled: no diff --git a/vars/default/container_settings.yml b/vars/default/container_settings.yml deleted file mode 100644 index fa1b497..0000000 --- a/vars/default/container_settings.yml +++ /dev/null @@ -1,16 +0,0 @@ -### Container settings - -# Enables the "watchtower" container to automatically download and apply container updates // default: "yes" -container_enable_auto_updates: yes - -# The timezone to use for the containers // default: "America/New_York" -container_timezone: America/New_York - -# User and Group ID's to use for the running processes in the containers (may cause or be the cause of permissions issues) -# default: "1234" -container_uid: 1234 -container_gid: 1234 - -# This will expose each containers individual ports on the host (check the README for more info on which ports map to which containers) // default: "no" -# If you disable traefik within the container map, the playbook will automatically override this setting and expose the ports -container_expose_ports: no diff --git a/vars/default/docker.yml b/vars/default/docker.yml deleted file mode 100644 index a4b42e6..0000000 --- a/vars/default/docker.yml +++ /dev/null @@ -1,3 +0,0 @@ -# docker_users: -# - user1 -# - user2 diff --git a/vars/default/gpu.yml b/vars/default/gpu.yml deleted file mode 100644 index 83d0cd1..0000000 --- a/vars/default/gpu.yml +++ /dev/null @@ -1,9 +0,0 @@ -### GPU settings -# Requires supported hardware - -# Enables Nvidia GPU hardware accelleration within the Plex container // default: "no" -# Requires the Nvidia drivers to already be installed and working -enable_nvidia_gpu: no - -# Enables Intel GPU hardware accelleration within the Plex container // default: "no" -enable_intel_gpu: no diff --git a/vars/default/main.yml b/vars/default/main.yml deleted file mode 100644 index a451c4a..0000000 --- a/vars/default/main.yml +++ /dev/null @@ -1,40 +0,0 @@ ---- -### Any variables such as "{{ }}" will reference a variable that was defined earlier in this file (or one that exists in any file in the `roles/hmsdocker/defaults/main` directory) - -####################################################################### -### HMS-Docker settings - -# The type of "media share" (if using a NAS) to use for reading/writing media data, such as movies and tv // default: "local" -# Options: -# `local`: local folder path -# `cifs`: CIFS or SMB share -# `nfs`: NFS share -hms_docker_media_share_type: local - -# The path where all media-related data (including external shares) will be mounted as subdirectories // default: "/opt/{{ project_name }}" -# Recommended to change this if using `cifs` or `nfs` to a local mount point, such as "/mnt/{{ project_name }}" -hms_docker_mount_path: "/opt/{{ project_name }}" - -# The name of the library folders that will be created within the library folder that was defined above -# Valid `type` values are: -# `movies` -# `tv_shows` - -# The `folder_name` is the name of the folder that will be created for that `type` of library -hms_docker_library_folders: - [ - { - type: "movies", - folder_name: "Movies" - }, - { - type: "tv_shows", - folder_name: "TV_Shows" - }, - ] - -# The domain used for the Traefik proxy Host rules, SSL certificate (if enabled), and DDNS (if enabled) // default: "home.local" -hms_docker_domain: home.local - -### End of HMS-Docker settings -####################################################################### diff --git a/vars/default/nas_cifs.yml b/vars/default/nas_cifs.yml deleted file mode 100644 index cec87ed..0000000 --- a/vars/default/nas_cifs.yml +++ /dev/null @@ -1,12 +0,0 @@ -## NAS client CIFS settings, only if `hms_docker_media_share_type` is set to `cifs` -# The CIFS/SMB remote share path to connect to // default: "//nas.example.com/share" -nas_client_remote_cifs_path: "//nas.example.com/share" - -## WARNING: these credentials will be stored in plaintext within the `hms_docker_data_path` folder, but will be owned by `root:root` with `0600` permissions, so only those with root or sudo access can read -# The username to use when connecting to the remote share -nas_client_cifs_username: "" -# The password to use when connecting to the remote share -nas_client_cifs_password: "" - -# The CIFS options to use for the mount, Google should be able to help troubleshoot // default: "rw,soft" -nas_client_cifs_opts: rw,soft diff --git a/vars/default/nas_nfs.yml b/vars/default/nas_nfs.yml deleted file mode 100644 index f40911d..0000000 --- a/vars/default/nas_nfs.yml +++ /dev/null @@ -1,6 +0,0 @@ -## NAS client NFS settings, only if `hms_docker_media_share_type` is set to `nfs` -# The NFS remote share path to connect to // default: "nas.example.com:/share" -nas_client_remote_nfs_path: "nas.example.com:/share" - -# The NFS options to use for the mount, Google should be able to help troubleshoot // default: "defaults" -nas_client_nfs_opts: defaults diff --git a/vars/default/plex.yml b/vars/default/plex.yml deleted file mode 100644 index c0a44a3..0000000 --- a/vars/default/plex.yml +++ /dev/null @@ -1,3 +0,0 @@ -### Plex Settings -# Visit https://plex.tv/claim to obtain this token specific to your account -plex_claim_token: "" diff --git a/vars/default/service_misc.yml b/vars/default/service_misc.yml deleted file mode 100644 index d6cdef0..0000000 --- a/vars/default/service_misc.yml +++ /dev/null @@ -1,3 +0,0 @@ -### Tautulli settings -# Downloads and includes the JBOPS scripts from https://github.com/blacktwin/JBOPS to the Tautulli container -tautulli_jbops_enabled: false diff --git a/vars/default/traefik.yml b/vars/default/traefik.yml deleted file mode 100644 index 41a585c..0000000 --- a/vars/default/traefik.yml +++ /dev/null @@ -1,33 +0,0 @@ -### SSL and Traefik settings -# Enables or Disables SSL wildcard certificate generation // default: "no" -traefik_ssl_enabled: no - -# This option implements a number of additional security features for Traefik, such as: -# * Disable TLS1.0 -traefik_security_hardening: no # default: no - -# Whether to use the staging/testing URL or production URL // default: "yes" -# If SSL is enabled and this is set to yes, check to make sure the generated certificate is issued from the "STAGING" certificate authority before changing this to "no" -traefik_ssl_use_letsencrypt_staging_url: yes - -# The DNS provider to use for SSL generation, check this for supported providers: https://doc.traefik.io/traefik/https/acme/#providers -traefik_ssl_dns_provider_code: "" - -# The DNS zone to use for SSL generation, this will use the domain defined above // default: "{{ hms_docker_domain }}" -traefik_ssl_dns_provider_zone: "{{ hms_docker_domain }}" - -# The environment variables for your DNS provider found at the provider link above -# This is an example if using Cloudflare -traefik_ssl_dns_provider_environment_vars: - { - "CF_DNS_API_TOKEN": "{{ cloudflare_api_token }}", # Example cloudflare environment variable, can use the same API token as the one for DDNS - "CF_ZONE_API_TOKEN": "{{ cloudflare_api_token }}", # Example cloudflare environment variable, can use the same API token as the one for DDNS - } - -# The DNS servers to use when generating your SSL certificate -# Recommended to set to your DNS providers servers -traefik_ssl_dns_resolver_1: "1.1.1.1" -traefik_ssl_dns_resolver_2: "1.0.0.1" - -# Required for Let's Encrypt, the email address to use when generating your SSL certificate -traefik_ssl_letsencrypt_email: "" diff --git a/vars/default/transmission.yml b/vars/default/transmission.yml deleted file mode 100644 index 8c62a89..0000000 --- a/vars/default/transmission.yml +++ /dev/null @@ -1,24 +0,0 @@ -### VPN and Transmission settings -# Visit https://haugene.github.io/docker-transmission-openvpn/supported-providers/ for supported VPN providers -# The VPN provider to use and the credentials to use for the VPN connection -transmission_vpn_provider: "" -transmission_vpn_user: "" -transmission_vpn_pass: "" - -# Transmission seed ratio settings -transmission_ratio_limit: "1" # default: "1" -transmission_ratio_enabled: "true" # default: "true" - -# DNS servers to use for the transmission container -transmission_dns_1: "8.8.8.8" -transmission_dns_2: "8.8.4.4" - -## External Providers and Custom VPN Options -# These are for changing the VPN config to a different server or type for example -# For help with these variables, see the docs located in `docs/Transmission.md` - -# default: "" -transmission_ovpn_config_file: "" - -# default: "" -transmission_ovpn_config_local_path: "" From aac8f9a78b6a93de4e31ad761afe72dc7b190956 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 16:07:36 -0500 Subject: [PATCH 02/34] overseerr and jellyseerr traefik allowlist obeys container map --- roles/hmsdocker/templates/containers/jellyseerr.yml.j2 | 4 +++- roles/hmsdocker/templates/containers/overseerr.yml.j2 | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/roles/hmsdocker/templates/containers/jellyseerr.yml.j2 b/roles/hmsdocker/templates/containers/jellyseerr.yml.j2 index f8c3d09..6cc773a 100644 --- a/roles/hmsdocker/templates/containers/jellyseerr.yml.j2 +++ b/roles/hmsdocker/templates/containers/jellyseerr.yml.j2 @@ -21,7 +21,9 @@ services: - traefik.enable=true - traefik.http.services.jellyseerr-${COMPOSE_PROJECT}.loadbalancer.server.port=5055 - traefik.http.routers.jellyseerr-${COMPOSE_PROJECT}.rule=Host(`{{ hms_docker_container_map['jellyseerr']['proxy_host_rule'] | default('jellyseerr') }}.${HMSD_DOMAIN}`) - - traefik.http.routers.jellyseerr-${COMPOSE_PROJECT}.middlewares=external-ipallowlist@file + {% if not hmsdocker_expose_public_enabled_jellyseerr %} + - traefik.http.routers.jellyseerr-${COMPOSE_PROJECT}.middlewares=internal-ipallowlist@file + {% endif %} {% if hmsdocker_authentik_enabled_jellyseerr %} - traefik.http.routers.jellyseerr-${COMPOSE_PROJECT}.middlewares=authentik-proxy-${COMPOSE_PROJECT}-jellyseerr-midware@docker {% endif %} diff --git a/roles/hmsdocker/templates/containers/overseerr.yml.j2 b/roles/hmsdocker/templates/containers/overseerr.yml.j2 index e95521f..782ce24 100644 --- a/roles/hmsdocker/templates/containers/overseerr.yml.j2 +++ b/roles/hmsdocker/templates/containers/overseerr.yml.j2 @@ -20,7 +20,9 @@ services: - traefik.enable=true - traefik.http.services.overseerr-${COMPOSE_PROJECT}.loadbalancer.server.port=5055 - traefik.http.routers.overseerr-${COMPOSE_PROJECT}.rule=Host(`{{ hms_docker_container_map['overseerr']['proxy_host_rule'] | default('overseerr') }}.${HMSD_DOMAIN}`) - - traefik.http.routers.overseerr-${COMPOSE_PROJECT}.middlewares=external-ipallowlist@file + {% if not hmsdocker_expose_public_enabled_overseerr %} + - traefik.http.routers.overseerr-${COMPOSE_PROJECT}.middlewares=internal-ipallowlist@file + {% endif %} {% if hmsdocker_authentik_enabled_overseerr %} - traefik.http.routers.overseerr-${COMPOSE_PROJECT}.middlewares=authentik-proxy-${COMPOSE_PROJECT}-overseerr-midware@docker {% endif %} From b8bc154ead9c0ce52486e1f38189d12a1d97fc94 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 16:07:46 -0500 Subject: [PATCH 03/34] relocate variable --- roles/hmsdocker/defaults/main/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/hmsdocker/defaults/main/main.yml b/roles/hmsdocker/defaults/main/main.yml index a21eed0..c90fa9c 100644 --- a/roles/hmsdocker/defaults/main/main.yml +++ b/roles/hmsdocker/defaults/main/main.yml @@ -4,6 +4,9 @@ ####################################################################### ### HMS-Docker settings +# The domain used for the Traefik proxy Host rules, SSL certificate (if enabled), and DDNS (if enabled) // default: "home.local" +hms_docker_domain: home.local + # The type of "media share" (if using a NAS) to use for reading/writing media data, such as movies and tv // default: "local" # Options: # `local`: local folder path @@ -41,8 +44,5 @@ hms_docker_library_folders: }, ] -# The domain used for the Traefik proxy Host rules, SSL certificate (if enabled), and DDNS (if enabled) // default: "home.local" -hms_docker_domain: home.local - ### End of HMS-Docker settings ####################################################################### From abca44ee374fa3798a0240bee6a21f678298aea8 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 16:23:51 -0500 Subject: [PATCH 04/34] first new docs version --- README.md | 314 +- docs/Cloudflare.md | 40 - docs/File Paths.md | 15 - docs/NAS.md | 21 - docs/Release Notes.md | 71 - docs/Traefik.md | 9 - gen-docs/.gitignore | 20 + gen-docs/README.md | 41 + .../docs/Examples/container-connections.md | 11 + .../docs/config-docs}/Authentik.md | 76 +- gen-docs/docs/config-docs/Cloudflare/ddns.md | 19 + .../docs/config-docs/Cloudflare/tunnel.md | 36 + .../docs/config-docs}/Homepage.md | 11 +- .../docs/config-docs}/Netdata.md | 12 +- gen-docs/docs/config-docs/Networking.md | 17 + .../docs/config-docs}/Tailscale.md | 2 +- .../docs/config-docs}/Transmission.md | 2 +- gen-docs/docs/config-docs/_category_.json | 8 + .../docs/config-docs/traefik/_category_.json | 7 + .../docs/config-docs/traefik/external-svcs.md | 16 + gen-docs/docs/config-docs/traefik/security.md | 16 + gen-docs/docs/config-docs/traefik/ssl.md | 59 + gen-docs/docs/container-list.md | 67 + .../docs/container-map.md | 16 +- gen-docs/docs/getting-started/_category_.json | 8 + gen-docs/docs/getting-started/dns-setup.md | 31 + gen-docs/docs/getting-started/install.md | 144 + .../getting-started/network-shares/NAS.md | 37 + .../network-shares/_category_.json | 7 + .../network-shares/additional-nas.md | 59 + gen-docs/docs/getting-started/requirements.md | 53 + gen-docs/docs/getting-started/updating.md | 11 + gen-docs/docs/intro.md | 29 + gen-docs/docs/paths.md | 45 + gen-docs/docs/release-notes/_category_.json | 7 + gen-docs/docs/release-notes/v0.1.md | 5 + gen-docs/docs/release-notes/v0.2.md | 31 + gen-docs/docs/release-notes/v0.3.md | 3 + gen-docs/docs/release-notes/v1.4.md | 15 + gen-docs/docs/release-notes/v1.5.md | 13 + gen-docs/docs/release-notes/v1.6.md | 7 + .../static/img}/cloudflare_tunnel_example.png | Bin .../static/img}/cloudflare_tunnel_token.png | Bin .../static/img}/container_connect_example.png | Bin gen-docs/docusaurus.config.js | 92 + gen-docs/package-lock.json | 16620 ++++++++++++++++ gen-docs/package.json | 45 + gen-docs/sidebars.js | 13 + gen-docs/src/css/custom.css | 30 + gen-docs/static/.nojekyll | 0 gen-docs/static/CNAME | 1 + .../static/img/docusaurus-social-card.jpg | Bin 0 -> 55746 bytes gen-docs/static/img/docusaurus.png | Bin 0 -> 5142 bytes gen-docs/static/img/favicon.ico | Bin 0 -> 3626 bytes gen-docs/static/img/logo.svg | 1 + .../static/img/undraw_docusaurus_mountain.svg | 171 + .../static/img/undraw_docusaurus_react.svg | 170 + .../static/img/undraw_docusaurus_tree.svg | 40 + 58 files changed, 18077 insertions(+), 517 deletions(-) delete mode 100644 docs/Cloudflare.md delete mode 100644 docs/File Paths.md delete mode 100644 docs/NAS.md delete mode 100644 docs/Release Notes.md delete mode 100644 docs/Traefik.md create mode 100644 gen-docs/.gitignore create mode 100644 gen-docs/README.md create mode 100644 gen-docs/docs/Examples/container-connections.md rename {docs => gen-docs/docs/config-docs}/Authentik.md (55%) create mode 100644 gen-docs/docs/config-docs/Cloudflare/ddns.md create mode 100644 gen-docs/docs/config-docs/Cloudflare/tunnel.md rename {docs => gen-docs/docs/config-docs}/Homepage.md (56%) rename {docs => gen-docs/docs/config-docs}/Netdata.md (52%) create mode 100644 gen-docs/docs/config-docs/Networking.md rename {docs => gen-docs/docs/config-docs}/Tailscale.md (94%) rename {docs => gen-docs/docs/config-docs}/Transmission.md (93%) create mode 100644 gen-docs/docs/config-docs/_category_.json create mode 100644 gen-docs/docs/config-docs/traefik/_category_.json create mode 100644 gen-docs/docs/config-docs/traefik/external-svcs.md create mode 100644 gen-docs/docs/config-docs/traefik/security.md create mode 100644 gen-docs/docs/config-docs/traefik/ssl.md create mode 100644 gen-docs/docs/container-list.md rename docs/Container Map.md => gen-docs/docs/container-map.md (89%) create mode 100644 gen-docs/docs/getting-started/_category_.json create mode 100644 gen-docs/docs/getting-started/dns-setup.md create mode 100644 gen-docs/docs/getting-started/install.md create mode 100644 gen-docs/docs/getting-started/network-shares/NAS.md create mode 100644 gen-docs/docs/getting-started/network-shares/_category_.json create mode 100644 gen-docs/docs/getting-started/network-shares/additional-nas.md create mode 100644 gen-docs/docs/getting-started/requirements.md create mode 100644 gen-docs/docs/getting-started/updating.md create mode 100644 gen-docs/docs/intro.md create mode 100644 gen-docs/docs/paths.md create mode 100644 gen-docs/docs/release-notes/_category_.json create mode 100644 gen-docs/docs/release-notes/v0.1.md create mode 100644 gen-docs/docs/release-notes/v0.2.md create mode 100644 gen-docs/docs/release-notes/v0.3.md create mode 100644 gen-docs/docs/release-notes/v1.4.md create mode 100644 gen-docs/docs/release-notes/v1.5.md create mode 100644 gen-docs/docs/release-notes/v1.6.md rename {docs/_img => gen-docs/docs/static/img}/cloudflare_tunnel_example.png (100%) rename {docs/_img => gen-docs/docs/static/img}/cloudflare_tunnel_token.png (100%) rename {docs/_img => gen-docs/docs/static/img}/container_connect_example.png (100%) create mode 100644 gen-docs/docusaurus.config.js create mode 100644 gen-docs/package-lock.json create mode 100644 gen-docs/package.json create mode 100644 gen-docs/sidebars.js create mode 100644 gen-docs/src/css/custom.css create mode 100644 gen-docs/static/.nojekyll create mode 100644 gen-docs/static/CNAME create mode 100644 gen-docs/static/img/docusaurus-social-card.jpg create mode 100644 gen-docs/static/img/docusaurus.png create mode 100644 gen-docs/static/img/favicon.ico create mode 100644 gen-docs/static/img/logo.svg create mode 100644 gen-docs/static/img/undraw_docusaurus_mountain.svg create mode 100644 gen-docs/static/img/undraw_docusaurus_react.svg create mode 100644 gen-docs/static/img/undraw_docusaurus_tree.svg diff --git a/README.md b/README.md index f921538..b83746b 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ Ansible Playbook to setup an automated Home Media Server stack running on Docker across a variety of platforms with support for GPUs, SSL, SSO, DDNS, and more. +Please see the docs page at: https://hmsdocs.ahembree.dev + ## Getting Started - [Container List](#container-list) @@ -18,315 +20,3 @@ Ansible Playbook to setup an automated Home Media Server stack running on Docker - [Using Cloudflare Tunnel](./docs/Cloudflare.md/#cloudflare-tunnel) - [Using Authentik](./docs/Authentik.md) - [Adding External Services to Traefik](./docs/Traefik.md/#adding-external-services-to-traefik) - -## Container List - -### Media Servers - -- [Plex](https://docs.linuxserver.io/images/docker-plex/) -- [Jellyfin](https://docs.linuxserver.io/images/docker-jellyfin/) -- [Emby](https://docs.linuxserver.io/images/docker-emby/) - -### Media Management Systems - -- [Sonarr](https://github.com/Sonarr/Sonarr): tv series management -- [Radarr](https://github.com/Radarr/Radarr): movie management -- [Lidarr](https://github.com/Lidarr/Lidarr): music management -- [Bazarr](https://github.com/morpheus65535/bazarr): subtitle management -- [Prowlarr](https://github.com/Prowlarr/Prowlarr): tracker management -- [Readarr](https://github.com/Readarr/Readarr): ebook management -- [Overseerr](https://github.com/sct/overseerr): request platform -- [Jellyseerr](https://github.com/Fallenbagel/jellyseerr): request platform with Jellyfin and Emby support -- [Requestrr](https://github.com/thomst08/requestrr): chat client for requests -- [Calibre](https://github.com/linuxserver/docker-calibre): ebook management -- [Tdarr](https://github.com/HaveAGitGat/Tdarr): media transcoding -- [Maintainerr](https://github.com/jorenn92/Maintainerr): media management -- [tinyMediaManager](https://gitlab.com/tinyMediaManager/tinyMediaManager): media management - -### Download Clients - -- [Transmission](https://github.com/haugene/docker-transmission-openvpn): download client with VPN and HTTP proxy -- [NZBGet](https://docs.linuxserver.io/images/docker-nzbget/): download client -- [Sabnzbd](https://docs.linuxserver.io/images/docker-sabnzbd/): download client - -### Analytics / Dashboards - -- [Tautulli](https://github.com/Tautulli/Tautulli): analytics -- [Homepage](https://github.com/gethomepage/homepage): dashboarding / homepage -- [Heimdall](https://github.com/linuxserver/Heimdall): dashboarding / homepage - -### Networking - -- [Traefik](https://hub.docker.com/_/traefik): reverse proxy (with SSL support from Let's Encrypt if configured) -- [Tailscale](https://hub.docker.com/r/tailscale/tailscale): mesh VPN -- [Cloudflare-ddns](https://hub.docker.com/r/oznu/cloudflare-ddns/): dynamic dns (if enabled) -- [Cloudflare Tunnel](https://hub.docker.com/r/cloudflare/cloudflared): Allows you to expose HTTP services without port-forwarding on your router, [see here](https://www.cloudflare.com/products/tunnel/) for more info - -### Misc - -- [Portainer](https://hub.docker.com/r/portainer/portainer): container management GUI -- [Watchtower](https://github.com/containrrr/watchtower): automatic container updates (if enabled) -- [Authentik](https://github.com/goauthentik/authentik): SSO (Single Sign-On) -- [Flaresolverr](https://github.com/FlareSolverr/FlareSolverr): CAPTCHA solving -- [Uptime Kuma](https://github.com/louislam/uptime-kuma): service status monitoring -- [Kavita](https://hub.docker.com/r/kizaing/kavita): digital library -- [Unpackerr](https://github.com/Unpackerr/unpackerr): download decompression -- [Autobrr](https://github.com/autobrr/autobrr): torrent automation -- [Notifiarr](https://github.com/Notifiarr/notifiarr): notification system -- [Speedtest-Tracker](https://github.com/alexjustesen/speedtest-tracker): notification system -- [Recyclarr](https://github.com/recyclarr/recyclarr): auto-sync for [TRaSH guides](https://trash-guides.info/) -- [PASTA](https://github.com/cglatot/pasta): audio and subtitle management -- [Netdata](https://github.com/netdata/netdata): observability -- [Wizarr](https://github.com/wizarrrr/wizarr): media server invite management - -## Other Features - -- GPU acceleration: Intel and Nvidia GPU support (if enabled) for the Plex container - - You must install the drivers for your GPU yourself, it is not included in this playbook, but it will verify GPU acceleration is available -- Automated Docker installation -- Automatic container updates -- Dynamic DNS updates -- Wildcard SSL certificate generation -- Support for multiple network shares -- Single Sign-On with Authentik -- Support for separate 4K instances for Sonarr and Radarr -- Script to convert a Traefik certificate file to a Plex-supported certificate file (PKCS12) -- Automated dashboard configuration in Homepage -- Custom advanced monitoring script(s) - -## Supported Platforms - -Currently only Ubuntu 22.04 LTS is actively supported and is used for GitHub Actions testing. - -Ubuntu 24.04 LTS may work, please submit an Issue if you encounter any. - -I've confirmed this repo also works on a Raspberry Pi 5 with 8GB RAM, but have not tested against other ARM-based systems (Apple Silicon, NAS systems, etc). - -RHEL based systems (CentOS 8, Fedora, Alma Linux, Rocky Linux) may work, but are no longer being tested against and are not officially supported. - -## Requirements - -### Hardware - -- Minimum 4 CPU Cores -- Minimum 4GB RAM (2GB additional if using Authentik) -- Minimum 8GB free disk space - -### Software / Services - -- [Supported Platform](#supported-platforms) -- `root` or `sudo` access -- Ansible -- You own a domain name and are able to modify DNS `A` and `TXT` records (if you want SSL and/or dynamic DNS) - - (Preferred) Have an internal DNS server that can resolve some or all of your domain name/zone. -- You use a [supported VPN provider](https://haugene.github.io/docker-transmission-openvpn/supported-providers/#internal_providers) (if Transmission is enabled) -- You use a [supported DNS provider](https://doc.traefik.io/traefik/https/acme/#providers) (if SSL is enabled) -- You have a Cloudflare account with the correct DNS zones and API keys configured (if dynamic DNS and/or SSL is enabled) -- Nvidia GPU drivers already installed (if using Nvidia GPU acceleration) - -### Network - -- If you plan to make Plex and/or Overseerr available outside your local network, the following ports must be forwarded in your router to the IP of the server that will be running these containers: - - Instructions for forwarding ports to the correct device is outside the scope of this project as every router/gateway has different instructions. - - This is in no way guaranteed to be the best or most secure way to do this, and this assumes your ISP does not block these ports - - `32400/tcp` (Plex) - - `80/tcp` (HTTP) (Not required if using Cloudflare Tunnel) - - `443/tcp` (HTTPS) (Not required if using Cloudflare Tunnel) - -### Technical Skills - -- Familiarity with editing config files (mainly YAML format) -- Familiarity with Linux (installing packages, troubleshooting, etc) -- Familiarity with Docker/containers (debugging, starting/stopping, getting a shell/CLI) - ---- - -## WARNING - -This playbook assumes that it is a fresh install of an operating system that has not been configured yet. - -To ensure no conflicting changes with an existing system, you can run this playbook in "check mode" to see what, if any, changes would be made by running `sudo make check` - -## Scope of the Project - -Setting up the individual container configurations, such as for Sonarr, Radarr, Overseerr, Prowlarr, etc. are outside the scope of this project. The purpose of this project is to ensure the necessary base containers are running with the appropriate configs. - ---- - -## Installation - -It is recommended to read and follow this guide entirely as there is a lot of configuration options that are required to get the system up and running to its full potential. - -1. Install Ansible for your system by following the instructions available here: https://docs.ansible.com/ansible/latest/installation_guide/installation_distros.html - -2. Install requirements and clone the repository: - - Ubuntu: - - ```bash - sudo apt install git make python3-pip -y - ``` - - ```bash - # Clone the repository and then go into the folder - git clone https://github.com/ahembree/ansible-hms-docker.git - cd ansible-hms-docker/ - ``` - -3. Proceed to [Configuration](#configuration) - ---- - -## Updating - -To easily update from this git repo _**and**_ update your custom variable names (due to deprecating/renaming variables), run: - -```bash -make update -``` - -Previous variable names will still work for at least a year after the change and will be noted as such within the default configs. Please update to resolve. - ---- - -## Configuration - -Copy the base configurations to the `vars/custom` directory by running: - -```bash -make basic -``` - -You can also quickly copy the advanced configurations by running: - -```bash -make advanced -``` - -NOTE: Re-running these commands will overwrite any existing files in the `vars/custom` directory - -If you wish to add a user(s) to the `docker` group so they can run `docker` commands without using `sudo`, you can uncomment and modify the lines in `vars/default/docker.yml`, or just run (as a user with sudo/root access) `sudo usermod -aG docker ` - -## Content Layout - -By default, the content is laid out in the following directory structure, if you wish to change the install location, you must use the advanced configuration - -Generated compose file location: `/opt/hms-docker/docker-compose.yml` - -Container data directory: `/opt/hms-docker/apps` - -Default mount path for local share (known as the `mount_path` in this readme): `/opt/hms-docker/media_data/` - -Media folder that contains movie and tv show folders (known as the `media_path` in this readme): `/_library` - -Movie folder: `/Movies` - -TV Show folder: `/TV_Shows` - -Secrets file (where sensitive key material is stored, other than the ansible variable files in `vars/custom`): `/opt/hms-docker/.env` - -- This files default ownership and permissions requires you to enter the sudo/root password every time you run a `docker-compose` command within the project directory - - - If you wish to get around this (and reduce security), you can change the `secrets_env_user`, `secrets_env_group`, and `secrets_env_mode` within the advanced configuration files to the values you prefer, or... - - - These recommended values (if you wish to do this) will allow all users with `docker` access to read the file, and thus run `docker-compose` commands without needing to run as sudo/root, but will not allow them to modify. - - - `secrets_env_user: root` - - - `secrets_env_group: docker` - - - `secrets_env_mode: 0640` - -## General Configuration - -All configuration options are in a (hopefully) aptly-named `.yml` file. Once you copied the config you want (by running `make basic` or `make advanced`), these config files are now in `vars/custom` - -- Required settings to configure: - - - In `vars/custom/plex.yml` - - `plex_claim_token` : your Plex claim code from [Plex's website](https://plex.tv/claim) - - - In `vars/custom/main_custom.yml` - - `hms_docker_domain` : the local domain name of the server to be used for proxy rules and (if supported) SSL certificates (e.g. `home.local`) - - `hms_docker_media_share_type` : the type of network share (`cifs`, `nfs`, `local`) - - `nfs` if using an NFS share/mount - - `cifs` if using Samba or a Windows file share - - `local` if using a local directory on the same system - - - In `vars/custom/transmission.yml` - - `transmission_vpn_provider` : the VPN provider (e.g. `nordvpn`, [see this page for the list of supported providers](https://haugene.github.io/docker-transmission-openvpn/supported-providers/#internal_providers)) - - `transmission_vpn_user` : the username of the VPN user - - `transmission_vpn_pass` : the password of the VPN user - -- Required settings for wildcard SSL certificate generation: - - - A supported DNS provider (e.g. Cloudflare), [you can find supported providers here along with their settings](https://doc.traefik.io/traefik/https/acme/#providers) - - Note: This has only been tested using Cloudflare, so ymmv. This page is just to reference supported providers, their required provider code and environment variables. Do not follow any additional configuration links within that page, you only need the provider code and environment variables. - - A valid Top-Level Domain (TLD), such as `.com` or `.net`, that Let's Encrypt is able to issue certificates for (see [the Public Suffix List](https://publicsuffix.org/list/public_suffix_list.dat) or [the IANA Root Zone Database](https://www.iana.org/domains/root/db)) - - In `vars/custom/traefik.yml` - - `traefik_ssl_enabled` : whether or not to generate a wildcard SSL certificate - - `traefik_ssl_dns_provider_zone` : the zone of the DNS provider (e.g. `example.com`, this will default to the `hms_docker_domain` if not modified) - - `traefik_ssl_dns_provider_code` : the "Provider Code" of the DNS provider (e.g. `cloudflare`, found at link above) - - `traefik_ssl_dns_provider_environment_vars` : the "Environment Variables", along with their values, of the DNS provider you're using (e.g. `"CF_DNS_API_TOKEN": ""` if using `cloudflare`, found at link above) - - `traefik_ssl_letsencrypt_email` : the email address to use for Let's Encrypt - - `traefik_ssl_use_letsencrypt_staging_url` : whether or not to use the Let's Encrypt staging URL for initial testing (`yes` or `no`) (default: `yes`) - - Recommended to use if setting up for the first time so you do not encounter [Rate-Limiting from Let's Encrypt](https://letsencrypt.org/docs/rate-limits/) - - The certificate will say it is invalid within a browser, but if you check the issuer, it should come from the "Staging" server, meaning it worked successfully and you then change this value to `no` to use the production server and get a valid certificate. - -If you have your media content stored on a NAS that will be connected via NFS or CIFS, please follow the directions in [the NAS readme](./docs/NAS.md) (after updating your `hms_docker_media_share_type` to the correct value as outlined above) - ---- - -## Running the playbook - -You can run the playbook using the included `Makefile` with the following commands: - -```bash -# Check mode -sudo make check - -# Apply changes -sudo make apply -``` - -Once the playbook has finished running, it may take up to a few minutes for the SSL certificate to be generated (if enabled). - -## Accessing the Containers - -If you do not already have a "wildcard" DNS record (`*`) setup for the domain you used on your LOCAL DNS server (such as `*.home.local`), create this `A` record to point to the IP address of the server. If you enabled Cloudflare DDNS, an "overseerr" public A record will be created automatically. - -You can also create individual `A` records for each container listed in the [container map](./docs/Container%20Map.md/#map), or have 1 `A` record with multiple `CNAME` records pointed to the `A` record. - -If the above DNS requirements are met, you can then access the containers by using the following URLs (substituting `< domain >` for the domain you used). - -You can also change the subdomain of each application within the advanced `hms_docker_container_map` setting. - -Plex: `https://plex.< domain >` - -Sonarr: `https://sonarr.< domain >` - -Radarr: `https://radarr.< domain >` - -Bazarr: `https://bazarr.< domain >` - -Overseerr: `https://overseerr.< domain >` - -Requestrr: `https://requestrr.< domain >` - -Prowlarr: `https://prowlarr.< domain >` - -Transmission: `https://transmission.< domain >` - -Tautulli: `https://tautulli.< domain >` - -Traefik: `https://traefik.< domain >` - -NZBGet: `https://nzbget.< domain >` - -Authentik: `https://authentik.< domain >` - -Tdarr: `https://tdarr.< domain >` - -Homepage: `https://homepage.< domain >` - -Uptime Kuma: `https://uptime-kuma.< domain >` diff --git a/docs/Cloudflare.md b/docs/Cloudflare.md deleted file mode 100644 index 1e28ad6..0000000 --- a/docs/Cloudflare.md +++ /dev/null @@ -1,40 +0,0 @@ -# Cloudflare - -## Cloudflare DDNS - -- Required settings for using Cloudflare DDNS: - - - A Cloudflare account and Cloudflare configured as your domains DNS servers - - In `vars/custom/cloudflare_ddns.yml` - - `cloudflare_ddns_enabled` : `yes` or `no` to enable/disable Cloudflare DDNS (default: `no`) - - `cloudflare_api_token` : the API token of the Cloudflare account - - `cloudflare_zone` : the domain name of the Cloudflare zone (e.g. `example.com`) - - `cloudflare_ddns_subdomain` : the subdomain record (e.g. `overseerr` would be created as `overseerr.example.com`) (default: `overseerr`) - - `cloudflare_ddns_proxied` : `'true'` or `'false'` to enable/disable proxying the traffic through Cloudflare (default: `'true'`) - -## Cloudflare Tunnel - -1. You will need to first generate a token by following the steps [here](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/remote/#1-create-a-tunnel) - - a. You can find the token here: - - ![Cloudflare Tunnel Token](./_img/cloudflare_tunnel_token.png) - -2. Once you've generated the token, update the variables in `vars/custom/cloudflare.yml`: - - - `cloudflare_tunnel_enabled` to `yes` - - `cloudflare_tunnel_token` to your token - -3. After the container has been started, you should now see an active Connector in your Cloudflare dashboard - -4. Follow [the steps here](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/remote/#2-connect-an-application) to link containers to the tunnel, following the [container map](./Container%20Map.md) for the available container names and ports (use the container name as the "Service" name in the Cloudflare webgui, and append the port, e.g. `overseerr:5055`) - -Example: - -![Cloudflare Tunnel Example](./_img/cloudflare_tunnel_example.png) - -## Important Notes - -The "public hostname" you use for the container does not need to match any Traefik proxy rule as **this traffic does NOT pass through Traefik**, it goes directly from the container -> Cloudflare. - -This also means that **SSO using Authentik will not work for any container configured to go through the Tunnel** due to the authentication middleware being applied by Traefik. In order to use Authentik with a publicly accessible container, you will need to port-forward. diff --git a/docs/File Paths.md b/docs/File Paths.md deleted file mode 100644 index b5e1ec1..0000000 --- a/docs/File Paths.md +++ /dev/null @@ -1,15 +0,0 @@ -# File Paths - -As of release version 0.2, file paths were changed in order to support [hardlinks and instant/atomic-moves](https://trash-guides.info/Hardlinks/Hardlinks-and-Instant-Moves/). - -Application configs (Sonarr, Radarr, Plex, etc.) are stored in `/opt/hms-docker/apps//config` by default. - -Network drives will be mounted to a folder within the path specified in the `hms_docker_mount_path` variable in `inventory/group_vars/all/main_custom.yml`. The parent directory of all the mounted folders (`hms_docker_mount_path`) is what is mounted to the required containers on `/data`. - -Hard links are supported as long as the downloads folder and media content folder are on the same filesystem. This means if you have another NAS network share connected that is on a different underlying file system (like a different physical NAS) that you want to put media content on, you must change the download client to download files to that NAS share folder within the container. - ---- - -If you were running the playbook before versioning was implemented (August 2024) and then update your local code with the new code in the repo, you will be prompted multiple times with warnings. It is highly recommended to read these warnings and understand any changes being made as you will likely have to update the paths inside the apps (Sonarr, Radarr, etc) to point to the new directory locations. - -For a full list of all paths changed, please see [the release notes doc](./Release%20Notes.md) diff --git a/docs/NAS.md b/docs/NAS.md deleted file mode 100644 index 2aec6b5..0000000 --- a/docs/NAS.md +++ /dev/null @@ -1,21 +0,0 @@ -# NAS - -## CIFS Shares - -Required settings for the `hms_docker_media_share_type` of `cifs`: - -In `vars/custom/nas_cifs.yml` - -- `nas_client_remote_cifs_path` : the path to the network share (e.g. `//nas.example.com/share`) -- `nas_client_cifs_username` : the username of the network share -- `nas_client_cifs_password` : the password of the network share -- `nas_client_cifs_opts` : the options for the network share (Google can help you find the correct options) - -## NFS Shares/Mounts - -Required settings for the `hms_docker_media_share_type` of `nfs`: - -In `vars/custom/nas_nfs.yml` - -- `nas_client_remote_nfs_path` : the path to the network share (e.g. `nas.example.com:/share`) -- `nas_client_nfs_opts` : the options for the network share (Google can help you find the correct options) diff --git a/docs/Release Notes.md b/docs/Release Notes.md deleted file mode 100644 index 3caad50..0000000 --- a/docs/Release Notes.md +++ /dev/null @@ -1,71 +0,0 @@ -# Release Notes - -Note that any update to a new version might need to be done manually using a `make update` since some variables may now be deprecated/renamed. - -## Version 1.5 - -Modularize the main Docker Compose file to import other containers from files in order to drasitcally reduce line count and make it easier to modify individual containers - -New container: - -* Wizarr - -## Version 1.4 - -New containers: - -* Maintainerr -* Unpackerr -* Lidarr -* Autobrr -* Speedtest-Tracker -* Recyclarr -* tinyMediaManager -* PASTA -* Netdata - -I now realize while writing these notes that version 0.2 was merged into 1.3 without a new Tag release, whoops... - -## Version 1.3 - -No changes other than number, I didn't realize there were already "Tags" for Releases on GitHub so this just aligned them. - -## Verison 0.2 - -Major changes to file paths inside and outside containers to standardize on one path for all apps in order to support hard links - -* No more multiple volumes per container for data, all data (including multiple NAS paths) is now under 1 `/data` folder in each container - -To update Plex config (source: https://support.plex.tv/articles/201154537-move-media-content-to-a-new-location/): - -* Go to Settings -> Library -> Disable "Empty trash automatically after every scan" - -* Apply playbook - -* Add new Movie and TV paths to the appropriate Plex library - -* Scan for library changes - -* Once scan is finished and media is available, remove the old path from the library config - -To update Arr app configs: - -* Add the new root folder - -* Mass edit the content and change the root path to the new one, select "No, I'll move the files myself" when prompted - -* Edit your lists to also change the root paths - -Remove NAS Transmission download path toggle - -Remove custom Transmission download path - -Remove usenet app optional volume mounts - ---- - -## Version 0.1 - -Initial versioning implementation, no changes other than writing a new `.hmsd-version` file that will be read on every playbook run. - -If your version is behind the current version, you will be prompted to continue so you are aware of any changes that may be made. It is highly recommened to always read through any changes. diff --git a/docs/Traefik.md b/docs/Traefik.md deleted file mode 100644 index afec40c..0000000 --- a/docs/Traefik.md +++ /dev/null @@ -1,9 +0,0 @@ -# Traefik - -## Adding External Services to Traefik - -You can add external services (such as services running on another host/server, like an external grafana server) to this projects Traefik config. - -You _must_ be using the Advanced Config, set `traefik_ext_hosts_enabled` to `yes`, and add the correct items to the `traefik_ext_hosts_list` array. - -**NOTE**: All traffic between the host that runs Traefik and the target external service will be **unencrypted**. [Source](https://doc.traefik.io/traefik/routing/routers/#general) diff --git a/gen-docs/.gitignore b/gen-docs/.gitignore new file mode 100644 index 0000000..b2d6de3 --- /dev/null +++ b/gen-docs/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/gen-docs/README.md b/gen-docs/README.md new file mode 100644 index 0000000..0c6c2c2 --- /dev/null +++ b/gen-docs/README.md @@ -0,0 +1,41 @@ +# Website + +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +### Installation + +``` +$ yarn +``` + +### Local Development + +``` +$ yarn start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +### Build + +``` +$ yarn build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +### Deployment + +Using SSH: + +``` +$ USE_SSH=true yarn deploy +``` + +Not using SSH: + +``` +$ GIT_USER= yarn deploy +``` + +If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/gen-docs/docs/Examples/container-connections.md b/gen-docs/docs/Examples/container-connections.md new file mode 100644 index 0000000..4bcbe83 --- /dev/null +++ b/gen-docs/docs/Examples/container-connections.md @@ -0,0 +1,11 @@ +# Connecting the Containers + +## Connecting the Containers to each other + +When connecting containers together such as Prowlarr to Sonarr and Radarr or Sonarr/Radarr to Overseerr etc, you can use the name of the container (e.g. `prowlarr` or `radarr`) and then defining the container port to connect to (e.g. `prowlarr:9696` or `radarr:7878`). + +For the names and port of each container to use, get the `Container Name` and `Container Port` values from the **[Container Map](../container-map)**. + +Here's an example within Prowlarr: + +![Prowlarr example](../static/img/container_connect_example.png) diff --git a/docs/Authentik.md b/gen-docs/docs/config-docs/Authentik.md similarity index 55% rename from docs/Authentik.md rename to gen-docs/docs/config-docs/Authentik.md index 3425edd..bb04c8c 100644 --- a/docs/Authentik.md +++ b/gen-docs/docs/config-docs/Authentik.md @@ -1,6 +1,10 @@ -# Using Authentik +# Authentik -In order to use Authentik, you must be using the advanced configuration **AND** you must be using SSL as outlined in this project. +:::warning + +In order to use Authentik, you must be using SSL as outlined in this project. + +::: This Authentik installation is based on the [single application](https://goauthentik.io/docs/providers/proxy/forward_auth#single-application) proxy provider configuration. @@ -8,31 +12,27 @@ There are no authentik proxy containers defined in the `docker-compose.yml` file Authentik is able to be controlled on a per-container basis, but requires a bit of configuration as outlined below. -## How the Authentik secret keys are stored - -There are 2 files created when enabling Authentik, `.authentik.key` and `.authentik.pgpass` within the project directory. These files store the Authentik secret key and Authentik postgres database password respectively. For security, these files are owned by `root:root` with mode `0600` so no one other than the root user can read/modify them. - -These values are stored in these files for persistence since they are generated randomly upon first launch and are required for Authentik to work correctly. If these values are changed or lost, Authentik will no longer work and will need to be reset to defaults. +## Important Note -Since the `.env` file will be continually updated with new values and these 2 randomly generated values need to remain persistent, Ansible will read/`slurp` these 2 files created and retrieve the values, ensuring the values within the `.env` are the same each time during every playbook run. +:::warning -To ensure these key and pgpass files are not changed by Ansible, `force: no` is set on the template resource that creates these files. +If you are using [Cloudflare Tunnel](./Cloudflare/tunnel.md) **AND** you have disabled port forwarding to 80/443, you **MUST** create a new "public hostname" in Tunnel in order for SSO to work since the SSO server needs to be publicly accessible. If your Tunnel is online and working, follow [step 4 when setting up Tunnel](./Cloudflare/tunnel.md) and configure it for the `authentik-server:9001` container. -## Important Note +However, any containers configured to be accessible through the Cloudflare Tunnel **will not** be protected by Authentik if accessed via the Tunnel. This is mainly for the use case of not having to port forward while still having Authentik protect services routed through Traefik. -If you are using [Cloudflare Tunnel](./Cloudflare.md/#cloudflare-tunnel) **AND** you have disabled port forwarding to 80/443, you **MUST** create a new "public hostname" in Tunnel in order for SSO to work since the SSO server needs to be publicly accessible. If your tunnel is online and working, follow [step 4 when setting up Tunnel](./Cloudflare.md/#cloudflare-tunnel) and configure it for the `authentik-server` container. +::: -1. Within the advanced variable settings (as outlined in the advanced settings setup): +## Enabling Authentik on Individual Containers - a. enable the authentik container +1. Enable the `authentik` container either in the container map or within the `authentik.yml` config file - b. enable authentik for the containers you want in the `hms_docker_container_map` variable available in the `vars/custom/container_map.yml` file. +2. Enable `authentik` for the containers you want in the `hms_docker_container_map` variable available in the `inventory/group_vars/all/container_map.yml` file. -2. Run the playbook as normal +3. Run the playbook as normal -3. Once all containers are started, go to `https://authentik.< domain >/if/flow/initial-setup/` to create the initial user and password to continue Authentik setup +4. Once all containers are started, go to `https://authentik.< domain >/if/flow/initial-setup/` to create the initial user and password to continue Authentik setup -4. **Configure an Application Provider within Authentik** +5. Configure an Application Provider within Authentik a. Login @@ -52,9 +52,9 @@ If you are using [Cloudflare Tunnel](./Cloudflare.md/#cloudflare-tunnel) **AND** i. Click finish -5. **Configure an Application** +6. Configure an Application - a. Do a-c (above) again + a. Do a-c (above in step 4) again b. Click `Applications` @@ -62,9 +62,9 @@ If you are using [Cloudflare Tunnel](./Cloudflare.md/#cloudflare-tunnel) **AND** d. Click `Create` and now you should have Authentik in front of the application! -6. **Configure an Application Outpost** +7. Configure an Application Outpost - a. Do a-c above + a. Do a-c above in step 5 again b. Click `Outposts` @@ -72,20 +72,40 @@ If you are using [Cloudflare Tunnel](./Cloudflare.md/#cloudflare-tunnel) **AND** d. Select the application to associate it to - e. IMPORTANT: copy the correct configuration generated in: `< hms_docker_apps_path >/authentik/outposts/authentik-< container_name >-output.yml` (so by default: `/opt/hms-docker/apps/authentik/...`) + :::tip + + **IMPORTANT**: copy the content of the file for the container generated in: `< hms_docker_apps_path >/authentik/outposts/authentik-< container_name >-output.yml` (so by default: `/opt/hms-docker/apps/authentik/outposts/...`) to your clipboard + + - If a configuration does not exist for the container you want, ensure you've enabled Authentik and have enabled `authentik` for that specific container in the `container_map.yml` config file - - If a configuration does not exist for the container you want, ensure you've enabled authentik and have enabled authentik for that specific container + ::: - f. Replace the configuration in the authentik webpage with this generated configuration, otherwise stuff will not work correctly. + f. Replace the configuration in the Authentik webpage with this generated configuration, otherwise stuff will not work correctly. - g. Once you click create, it will automatically create a new authentik-proxy container that will handle authentication. + g. Once you click create, it will automatically create a new `authentik-proxy` container that will handle authentication. h. Note: it may take some time to setup the proxy, be patient -7. **Troubleshooting** + :::note + + This `authentik-proxy` container (and also any associated networks) will **not** be deleted if the Compose stack is removed since the container is not defined in the Compose file. + + ::: + +8. Troubleshooting a. Using the Traefik and Portainer dashboards help a LOT during the troubleshooting process - b. If you're getting a `404 not found` error, this is likely due to the `authentik-proxy` containers not working, running, or not being configured correctly. If you just configured a new application output, wait a couple more minutes. + b. If you're getting a `404 not found` error, this is likely due to the `authentik-proxy` containers not working, running, or not being configured correctly. Check Portainer. If you just configured a new application output, wait a couple more minutes. + + c. If you're getting a `500` server error, this is possibly due to having duplicate Traefik routes for the same host rules, check Traefik logs and/or Portainer logs for the correct `authentik-proxy` container. - c. If you're getting a `500` server error, this is possibly due to having duplicate Traefik routes for the same host rules +## How the Authentik secret keys are stored + +There are 2 files created when enabling Authentik, `.authentik.key` and `.authentik.pgpass` within the project directory. These files store the Authentik secret key and Authentik postgres database password respectively. For security, these files are owned by `root:root` with mode `0600` so no one other than the root user can read/modify them. + +These values are stored in these files for persistence since they are generated randomly upon first launch and are required for Authentik to work correctly. If these values are changed or lost, Authentik will no longer work and will need to be reset to defaults. + +Since the `.env` file will be continually updated with new values and these 2 randomly generated values need to remain persistent, Ansible will read/`slurp` these 2 files created and retrieve the values, ensuring the values within the `.env` are the same each time during every playbook run. + +To ensure these key and pgpass files are not changed by Ansible, `force: no` is set on the template resource that creates these files. diff --git a/gen-docs/docs/config-docs/Cloudflare/ddns.md b/gen-docs/docs/config-docs/Cloudflare/ddns.md new file mode 100644 index 0000000..4f897a7 --- /dev/null +++ b/gen-docs/docs/config-docs/Cloudflare/ddns.md @@ -0,0 +1,19 @@ +# Cloudflare DDNS + +Below is how to configure DDNS (Dynamic DNS) for Cloudflare. + +## Requirements + +- A Cloudflare account and Cloudflare configured as your domains DNS servers +- API keys for your account with the correct permissions + +## Enabling + +In `inventory/group_vars/all/cloudflare_ddns.yml`: + +- `cloudflare_ddns_enabled` : `yes` or `no` to enable/disable Cloudflare DDNS (default: `no`) +- `cloudflare_api_token` : the API token of the Cloudflare account +- `cloudflare_zone` : the domain name of the Cloudflare zone (e.g. `example.com`) +- `cloudflare_ddns_subdomain` : the subdomain record (e.g. `overseerr` would be created as `overseerr.example.com`) (default: `overseerr`) +- `cloudflare_ddns_proxied` : `'true'` or `'false'` to enable/disable proxying the traffic through Cloudflare (default: `'true'`) + - NOTE: This value must be in quotes diff --git a/gen-docs/docs/config-docs/Cloudflare/tunnel.md b/gen-docs/docs/config-docs/Cloudflare/tunnel.md new file mode 100644 index 0000000..6ca6c99 --- /dev/null +++ b/gen-docs/docs/config-docs/Cloudflare/tunnel.md @@ -0,0 +1,36 @@ +# Cloudflare Tunnel + +## Requirements and Enabling + +1. You will need to first generate a token by following the steps [here](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/remote/#1-create-a-tunnel) + + a. You can find the token here: + + ![Cloudflare Tunnel Token](../../static/img/cloudflare_tunnel_token.png) + +2. Once you've generated the token, update the variables in `inventory/group_vars/all/cloudflare.yml`: + + - `cloudflare_tunnel_enabled` to `yes` + - `cloudflare_tunnel_token` to your token + +3. After the container has been started, you should now see an active Connector in your Cloudflare dashboard + +4. Follow [the steps here](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/remote/#2-connect-an-application) to link containers to the tunnel, following the [container map](../../container-map.md) for the available container names and ports (use the container name as the "Service" name in the Cloudflare webgui, and append the port, e.g. `overseerr:5055`) + +Example: + +![Cloudflare Tunnel Example](../../static/img/cloudflare_tunnel_example.png) + +## Important Notes + +:::tip + +The "public hostname" subdomain you use does not need to match any Traefik proxy rule as **this traffic does NOT pass through Traefik**, it goes directly from the container -> Cloudflare Tunnel via the internal Docker network. + +::: + +:::warning + +This also means that **SSO using Authentik will not work for any container configured to go through the Tunnel** due to the authentication middleware being applied by Traefik. In order to use Authentik with a publicly accessible container, you will need to port forward. + +::: diff --git a/docs/Homepage.md b/gen-docs/docs/config-docs/Homepage.md similarity index 56% rename from docs/Homepage.md rename to gen-docs/docs/config-docs/Homepage.md index 048c96a..1017b1b 100644 --- a/docs/Homepage.md +++ b/gen-docs/docs/config-docs/Homepage.md @@ -6,9 +6,14 @@ Homepage is able to integrate directly with Docker, allowing it to "auto-discove Homepage can also integrate with a very large number of the containers in this project, so setting up the connection is very easy. -You just need to define the services API key in the `vars/custom/homepage_api_keys.yml` file. +You just need to define the services API key in the `inventory/group_vars/all/homepage_api_keys.yml` file. These can be found in the applications setting page. It is also _highly_ recommended to ensure the permissions and ownership of this file is locked down. You can do this by running: -- `chmod 0600 vars/custom/homepage_api_keys.yml` -- `chown $(whoami):$(whoami) vars/custom/homepage_api_keys.yml` +```bash +chmod 0600 inventory/group_vars/all/homepage_api_keys.yml +``` + +```bash +chown $(whoami):$(whoami) inventory/group_vars/all/homepage_api_keys.yml +``` diff --git a/docs/Netdata.md b/gen-docs/docs/config-docs/Netdata.md similarity index 52% rename from docs/Netdata.md rename to gen-docs/docs/config-docs/Netdata.md index d79471f..a00ca7c 100644 --- a/docs/Netdata.md +++ b/gen-docs/docs/config-docs/Netdata.md @@ -1,14 +1,20 @@ -# Netdata Container +# Netdata -To claim your Netdata node when prompted in the console, run this command: +## Claiming Instance + +To claim your Netdata node when prompted in the webpage, run this command: ```bash docker exec -it netdata cat /var/lib/netdata/netdata_random_session_id ``` +## Accessing via Traefik + Since Netdata uses the `host` network mode, it cannot be connected to Traefik via the Docker internal network which results in it not being "auto-discovered" by Traefik. -Instead, you will have to treat it as an "external service" to Traefik. Using the advanced configuration and in `inventory/group_vars/all/traefik.yml`, set `traefik_ext_hosts_enabled` to `yes` and uncomment the lines in `traefik_ext_hosts_list` that are related to Netdata (like below): +Instead, you will have to treat it as an "external service" to Traefik. More documentation is available in the [External Services](./traefik/external-svcs.md) Traefik documentation for configuring external services, but the below should help. + +In `inventory/group_vars/all/traefik.yml`, set `traefik_ext_hosts_enabled` to `yes` and uncomment the lines in `traefik_ext_hosts_list` that are related to Netdata (like below): ```yml ... diff --git a/gen-docs/docs/config-docs/Networking.md b/gen-docs/docs/config-docs/Networking.md new file mode 100644 index 0000000..e12a8cb --- /dev/null +++ b/gen-docs/docs/config-docs/Networking.md @@ -0,0 +1,17 @@ +# Networking + +:::tip + +Ports are _NOT_ exposed by default (with the exception of Traefik, `80/443`) on the host. + +::: + +See the **[Container Map](../container-map.md)** for the `Host Port` value for each service as there may be overlapping default ports, meaning the port may have changed for a service. + +The service ports will be **exposed/open** on the host machine if: + +* `container_expose_ports` is set to `yes` in `inventory/group_vars/all/container_settings.yml` + +* Traefik is disabled entirely + +* Traefik is disabled on that specific container in `inventory/group_vars/all/container_map.yml` diff --git a/docs/Tailscale.md b/gen-docs/docs/config-docs/Tailscale.md similarity index 94% rename from docs/Tailscale.md rename to gen-docs/docs/config-docs/Tailscale.md index f37b8cc..d91325e 100644 --- a/docs/Tailscale.md +++ b/gen-docs/docs/config-docs/Tailscale.md @@ -1,4 +1,4 @@ -# Using Tailscale +# Tailscale ## Important Notes diff --git a/docs/Transmission.md b/gen-docs/docs/config-docs/Transmission.md similarity index 93% rename from docs/Transmission.md rename to gen-docs/docs/config-docs/Transmission.md index 2400e74..4dcae3a 100644 --- a/docs/Transmission.md +++ b/gen-docs/docs/config-docs/Transmission.md @@ -1,6 +1,6 @@ # Transmission -All settings mentioned below should already exist in your `vars/custom/transmission.yml` file +Settings mentioned below should already exist in your `inventory/group_vars/all/transmission.yml` file ## Using a different VPN location or type diff --git a/gen-docs/docs/config-docs/_category_.json b/gen-docs/docs/config-docs/_category_.json new file mode 100644 index 0000000..e4aacff --- /dev/null +++ b/gen-docs/docs/config-docs/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Additional Configuration", + "position": 5, + "link": { + "type": "generated-index", + "description": "Getting started with ansible-hms-docker" + } +} diff --git a/gen-docs/docs/config-docs/traefik/_category_.json b/gen-docs/docs/config-docs/traefik/_category_.json new file mode 100644 index 0000000..e5b3e7a --- /dev/null +++ b/gen-docs/docs/config-docs/traefik/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Traefik", + "link": { + "type": "generated-index", + "description": "How to configure Traefik" + } +} diff --git a/gen-docs/docs/config-docs/traefik/external-svcs.md b/gen-docs/docs/config-docs/traefik/external-svcs.md new file mode 100644 index 0000000..2d83c00 --- /dev/null +++ b/gen-docs/docs/config-docs/traefik/external-svcs.md @@ -0,0 +1,16 @@ +# External Services + +## Adding External Services to Traefik + +You can add external services (such as services running on another host/server, like an external grafana server) to this projects Traefik config. + +You _must_ set `traefik_ext_hosts_enabled` to `yes`, and add the correct items to the `traefik_ext_hosts_list` array. + +:::warning + +All traffic between the host that runs Traefik and the target external service will be **unencrypted**. **_[Source](https://doc.traefik.io/traefik/routing/routers/#general)_**. + +You may be able to add additional Traefik configuration to configure certificates for HTTPS or bypass certificate checking, but that is outside this scope. + +::: + diff --git a/gen-docs/docs/config-docs/traefik/security.md b/gen-docs/docs/config-docs/traefik/security.md new file mode 100644 index 0000000..3e652af --- /dev/null +++ b/gen-docs/docs/config-docs/traefik/security.md @@ -0,0 +1,16 @@ +# Security + +## How the containers are protected + +There is an allowlist configured within Traefik that only allows private IPs (RFC1918) to access all of the containers via Traefik. However if you choose to route a container through [Cloudflare Tunnel](../Cloudflare/tunnel.md) (recommended so you don't have to port forward), then it is no longer being routed through Traefik. + +This is controlled on a per-container basis in the `inventory/group_vars/all/container_map.yml` file as the `expose_to_public` variable for each container. If you set this to `yes`, it will allow all IPs (`0.0.0.0/0`) to access them. + +## SSO + +To configure SSO (Single Sign-On) for certain containers, see the [Authentik docs](../Authentik.md) + +## TLS Versions + +`traefik_security_hardening`: This will disable TLS1.0 and TLS1.1 and use TLS1.2 as the new minimum. + diff --git a/gen-docs/docs/config-docs/traefik/ssl.md b/gen-docs/docs/config-docs/traefik/ssl.md new file mode 100644 index 0000000..5731aa3 --- /dev/null +++ b/gen-docs/docs/config-docs/traefik/ssl.md @@ -0,0 +1,59 @@ +# SSL Certificate + +## Generating Wildcard SSL Certificate + +A wildcard certificate (`*.example.com`) will be the default. To change this, see [Changing SSL Certificate SANs](#changing-ssl-certificate-sans). Note that an individual certificate for each container will not be generated due to [Let's Encrypts rate limit of 5 exact hostnames every 7 days](https://letsencrypt.org/docs/rate-limits/#new-certificates-per-exact-set-of-hostnames). + +:::note + +This has only been tested using Cloudflare, so ymmv. This page is just to reference supported providers, their required `Provider Code` and `Environment Variables`. Do not follow any additional configuration links within that page, you only need the provider code and environment variables. + +::: + +## Requirements + +- A supported DNS provider (e.g. Cloudflare), [you can find supported providers **here** along with their settings](https://doc.traefik.io/traefik/https/acme/#providers) +- A valid Top-Level Domain (TLD), such as `.com` or `.net`, that Let's Encrypt is able to issue certificates for +- API keys for the DNS provider with the correct permissions + +:::tip + +The default configuration already has the correct Environment Variables for Cloudflare. + +If also using Cloudflare, set the API key in `cloudflare_api_token` in `inventory/group_vars/all/cloudflare.yml` + +::: + +## Configuration + +Settings mentioned below should already exist in your `inventory/group_vars/all/traefik.yml`: + +- `traefik_ssl_enabled` : whether or not to generate a wildcard SSL certificate +- `traefik_ssl_dns_provider_zone` : the zone of the DNS provider (e.g. `example.com`, this will default to the `hms_docker_domain` if not modified) +- `traefik_ssl_dns_provider_code` : the "Provider Code" of the DNS provider (e.g. `cloudflare`, found at link above) +- `traefik_ssl_dns_provider_environment_vars` : the "Environment Variables", along with their values, of the DNS provider you're using (e.g. `"CF_DNS_API_TOKEN": ""` if using `cloudflare`, found at link above) +- `traefik_ssl_letsencrypt_email` : the email address to use for Let's Encrypt +- `traefik_ssl_use_letsencrypt_staging_url` : whether or not to use the Let's Encrypt staging URL for initial testing (`yes` or `no`) (default: `yes`) + - Recommended to use if setting up for the first time so you do not encounter [Rate-Limiting from Let's Encrypt](https://letsencrypt.org/docs/rate-limits/) + - The certificate will say it is invalid within a browser, but if you check the issuer, it should come from the "Staging" server, meaning it worked successfully and you then change this value to `no` to use the production server and get a valid certificate. + +:::tip + +Once the playbook has finished running, it may take up to a few minutes for the SSL certificate to be generated. + +To view debug logs, set `traefik_log_level` to `DEBUG` and then re-run the playbook and run `docker logs traefik -f`. This can show you the status of the certificate generation request. + +::: + +## Changing SSL Certificate SANs + +To change/add the SANs used for the certificate, in `inventory/group_vars/all/traefik.yml` modify the `traefik_ssl_sans` variable. + +By default, it will generate a wildcard certificate for the domain set in `hms_docker_domain` + +```yaml +traefik_ssl_sans: [ + '*.{{ hms_docker_domain }}', + '*.dev.{{ hms_docker_domain }}' +] +``` diff --git a/gen-docs/docs/container-list.md b/gen-docs/docs/container-list.md new file mode 100644 index 0000000..3408e8a --- /dev/null +++ b/gen-docs/docs/container-list.md @@ -0,0 +1,67 @@ +--- +sidebar_position: 2 +--- + +# Container List + +Below is a list of all currently implemented containers. + +Have one you want to add? Submit an [Issue](https://github.com/ahembree/ansible-hms-docker/issues) or [Pull Request](https://github.com/ahembree/ansible-hms-docker/pulls)! + +## Media Servers + +- [Plex](https://docs.linuxserver.io/images/docker-plex/) +- [Jellyfin](https://docs.linuxserver.io/images/docker-jellyfin/) +- [Emby](https://docs.linuxserver.io/images/docker-emby/) + +## Media Management Systems + +- [Sonarr](https://github.com/Sonarr/Sonarr): tv series management +- [Radarr](https://github.com/Radarr/Radarr): movie management +- [Lidarr](https://github.com/Lidarr/Lidarr): music management +- [Overseerr](https://github.com/sct/overseerr): request platform +- [Jellyseerr](https://github.com/Fallenbagel/jellyseerr): request platform with Jellyfin and Emby support +- [Prowlarr](https://github.com/Prowlarr/Prowlarr): tracker management +- [Bazarr](https://github.com/morpheus65535/bazarr): subtitle management +- [Readarr](https://github.com/Readarr/Readarr): ebook management +- [Requestrr](https://github.com/thomst08/requestrr): chat client for requests +- [Calibre](https://github.com/linuxserver/docker-calibre): ebook management +- [Tdarr](https://github.com/HaveAGitGat/Tdarr): media transcoding +- [Maintainerr](https://github.com/jorenn92/Maintainerr): media management +- [tinyMediaManager](https://gitlab.com/tinyMediaManager/tinyMediaManager): media management + +## Download Clients + +- [Transmission](https://github.com/haugene/docker-transmission-openvpn): download client with VPN and HTTP proxy +- [NZBGet](https://docs.linuxserver.io/images/docker-nzbget/): download client +- [Sabnzbd](https://docs.linuxserver.io/images/docker-sabnzbd/): download client + +## Analytics / Dashboards + +- [Tautulli](https://github.com/Tautulli/Tautulli): analytics +- [Homepage](https://github.com/gethomepage/homepage): dashboarding / homepage +- [Heimdall](https://github.com/linuxserver/Heimdall): dashboarding / homepage + +## Networking + +- [Traefik](https://hub.docker.com/_/traefik): reverse proxy (with SSL support from Let's Encrypt if configured) +- [Tailscale](https://hub.docker.com/r/tailscale/tailscale): mesh VPN +- [Cloudflare-ddns](https://hub.docker.com/r/oznu/cloudflare-ddns/): dynamic dns (if enabled) +- [Cloudflare Tunnel](https://hub.docker.com/r/cloudflare/cloudflared): Allows you to expose HTTP services without port-forwarding on your router, [see here](https://www.cloudflare.com/products/tunnel/) for more info + +## Misc + +- [Portainer](https://hub.docker.com/r/portainer/portainer): container management GUI +- [Watchtower](https://github.com/containrrr/watchtower): automatic container updates (if enabled) +- [Authentik](https://github.com/goauthentik/authentik): SSO (Single Sign-On) +- [Flaresolverr](https://github.com/FlareSolverr/FlareSolverr): CAPTCHA solving +- [Uptime Kuma](https://github.com/louislam/uptime-kuma): service status monitoring +- [Kavita](https://hub.docker.com/r/kizaing/kavita): digital library +- [Unpackerr](https://github.com/Unpackerr/unpackerr): download decompression +- [Autobrr](https://github.com/autobrr/autobrr): torrent automation +- [Notifiarr](https://github.com/Notifiarr/notifiarr): notification system +- [Speedtest-Tracker](https://github.com/alexjustesen/speedtest-tracker): notification system +- [Recyclarr](https://github.com/recyclarr/recyclarr): auto-sync for [TRaSH guides](https://trash-guides.info/) +- [PASTA](https://github.com/cglatot/pasta): audio and subtitle management +- [Netdata](https://github.com/netdata/netdata): observability +- [Wizarr](https://github.com/wizarrrr/wizarr): media server invite management diff --git a/docs/Container Map.md b/gen-docs/docs/container-map.md similarity index 89% rename from docs/Container Map.md rename to gen-docs/docs/container-map.md index 037f77e..c967e00 100644 --- a/docs/Container Map.md +++ b/gen-docs/docs/container-map.md @@ -1,16 +1,8 @@ # Container Map -## Connecting the Containers to each other +## Notes -When connecting Prowlarr to Sonarr and Radarr and etc, you can use the name of the container (e.g. `prowlarr` or `radarr`) and then defining the container port to connect to (e.g. `prowlarr:9696` or `radarr:7878`). - -Here's an example within Prowlarr: - -![Prowlarr example](./_img/container_connect_example.png) - -If you choose to expose the container ports on the host (by setting `container_expose_ports: yes` in the `vars/custom/container_settings.yml` file), see below for which ports are mapped to which container on the host. - -**NOTE:** Ports are _NOT_ exposed by default (with the exception of Traefik) +If both Jellyfin and Emby are enabled, then Emby will be available on ports `8097` and `8921` (if ports are being exposed for both Jellyfin and Emby) ## Map @@ -52,6 +44,4 @@ If you choose to expose the container ports on the host (by setting `container_e | tinyMediaManager | ☐ | `tmm` | `5900`, `4000` | `5900`, `4000` | ☑ | | PASTA | ☐ | `pasta` | `8085` | `80` | ☑ | | Wizarr | ☐ | `wizarr` | `5690` | `5690` | ☑ | -| Jellyseerr | ☑ | `jellyseerr` | `5056` | `5055` | ☑ | - -If both Jellyfin and Emby are enabled, then Emby will be available on ports `8097` and `8921` (if ports are being exposed for both) +| Jellyseerr | ☐ | `jellyseerr` | `5056` | `5055` | ☑ | diff --git a/gen-docs/docs/getting-started/_category_.json b/gen-docs/docs/getting-started/_category_.json new file mode 100644 index 0000000..6a1dd8d --- /dev/null +++ b/gen-docs/docs/getting-started/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Getting Started", + "position": 3, + "link": { + "type": "generated-index", + "description": "Getting started with ansible-hms-docker" + } +} diff --git a/gen-docs/docs/getting-started/dns-setup.md b/gen-docs/docs/getting-started/dns-setup.md new file mode 100644 index 0000000..fa26d8e --- /dev/null +++ b/gen-docs/docs/getting-started/dns-setup.md @@ -0,0 +1,31 @@ +# Configuring DNS + +:::tip + +It is recommended to use an internal DNS server (such as a Pi-hole or AdGuard Home) to serve these DNS requests. This is because creating public DNS records would reveal your internal network IPs. + +Very small risk but one that should be mentioned. + +::: + +The domain used is defined in the variable `hms_docker_domain` in `inventory/group_vars/all/main.yml` + +## Accessing the Containers + +If you do not already have a "wildcard" DNS record (`*.example.com`) setup for the domain you used on your LOCAL DNS server (such as `*.home.local`), create this `A` record to point to the IP address of the server. + +:::note + +If you enabled Cloudflare DDNS, an `overseerr` public `A` record will be created automatically that points to your networks public IP. + +* This default `A` record can be changed in the `cloudflare_ddns_subdomain` variable located in `inventory/group_vars/all/cloudflare.yml`. + +Unless port `80` and `443` are port forwarded on the router to your host, accessing this public address from outside your main network will not work. + +::: + +You can also create individual `A` records for each container listed in the [Container Map](../container-map.md), or have 1 `A` record with multiple `CNAME` records pointed to the `A` record. This will allow you to change 1 DNS record if the IP were to ever change, instead of having to change many individual records. + +If the appropriate DNS records exist (you can test by running `nslookup `, or optionally `nslookup ` to query a specific DNS server), you can then access the containers from your network by going to `.` where `` is the container name and `` is the domain you used for the variable `hms_docker_domain` in the `proxy_host_rule` value. + +You can also change the name/subdomain of each application within the `hms_docker_container_map`. diff --git a/gen-docs/docs/getting-started/install.md b/gen-docs/docs/getting-started/install.md new file mode 100644 index 0000000..b1b8131 --- /dev/null +++ b/gen-docs/docs/getting-started/install.md @@ -0,0 +1,144 @@ +--- +sidebar_position: 2 +--- + +# Installation Steps + +:::warning[Warning] + +This playbook assumes that it is a fresh install of an operating system that has not been configured yet. + +To ensure no conflicting changes with an existing system, you can run this playbook in "check mode" to see what, if any, changes would be made by running `sudo make check` + +::: + +## Installation + +:::tip + +You can skip this first Ansible install step if you already have Ansible installed to a "control node" (a system that can SSH into the target host) + +::: + +1. Install Ansible for your system by following the instructions available here: https://docs.ansible.com/ansible/latest/installation_guide/installation_distros.html + +2. Install requirements and clone the repository: + + Ubuntu: + + ```bash + sudo apt install git make python3-pip -y + ``` + + ```bash + # Clone the repository and then go into the folder + git clone https://github.com/ahembree/ansible-hms-docker.git + cd ansible-hms-docker/ + ``` + +3. Proceed to [configuring the deployment](#configuration-files) + +--- + +## Configuration Files + +:::tip + +All configuration files are stored in `inventory/group_vars/all` after running the next command + +::: + +1. To initialize the configuration files, run `make config` + +:::warning + +Re-running this command will overwrite any existing files in the config directory + +::: + +--- + +## Container Selection + +To select the containers you want to use, you will need to modify the `inventory/group_vars/all/container_map.yml` file. + +Within there, you will find a giant list of containers to modify in the `hms_docker_container_map` variable. + +To enable a container, set its `enabled` value to `yes`. + +There is a small number of containers not in this list since they do not need config directories and are not routed through Traefik. + +Current list of containers not in the container map config file: + +- Flaresolverr (controlled in `inventory/group_vars/all/cloudflare.yml` in the `flaresolverr_enabled` variable) + +- Cloudflare Tunnel (controlled in `inventory/group_vars/all/cloudflare.yml` in the `cloudflare_tunnel_enabled` variable) + +- Cloudflare DDNS (see the [Cloudflare DDNS](../config-docs/Cloudflare/ddns.md) page) + +--- + +## Service Configuration + +All configuration options are in a (hopefully) aptly-named `.yml` file. + +:::tip + +All configuration files are stored in `inventory/group_vars/all` + +::: + +### Required Settings + +#### General + +In `inventory/group_vars/all/main_custom.yml`: + +- `hms_docker_domain` : the local domain name of the server to be used for proxy rules and (if enabled) SSL certificates (e.g. `home.local`) +- `hms_docker_media_share_type` : the type of network share (`cifs`, `nfs`, `local`) + - See [the NAS setup page](./network-shares/NAS.md) + - `nfs` if using an NFS share/mount + - `cifs` if using Samba or a Windows file share + - `local` if using a local directory on the same system + +#### Plex + +In `inventory/group_vars/all/plex.yml`: + +- `plex_claim_token` : your Plex claim code from [Plex's website](https://plex.tv/claim) + +#### Download Client + +In `inventory/group_vars/all/transmission.yml`: + +- `transmission_vpn_provider` : the VPN provider code (e.g. `NORDVPN`, [see this page for the list of supported providers](https://haugene.github.io/docker-transmission-openvpn/supported-providers/#internal_providers)) +- `transmission_vpn_user` : the username of the VPN user +- `transmission_vpn_pass` : the password of the VPN user + +#### SSL + +If you want a SSL/TLS certificate for Traefik, see the **[SSL Certificates](docs/config-docs/traefik/ssl.md)** docs. + +#### Network Storage + +If you have your media content stored on a NAS that will be connected via NFS or CIFS, please follow the directions in [the NAS readme](docs/getting-started/network-shares/NAS.md) (after updating your `hms_docker_media_share_type` to the correct value as outlined above in [General](#general)) + +## Running the playbook + +You can run the playbook using the included `Makefile` with the following commands: + +```bash +# Run in "Check mode" to see changes before they are made +sudo make check + +# Apply changes +sudo make apply +``` + +## Next Steps + +Check out [the NAS Setup](docs/getting-started/network-shares/NAS.md) if you set `hms_docker_media_share_type` to `cifs` or `nfs` + +Check out [Configuring DNS](./dns-setup.md) on how to setup the DNS records on a (recommended) internal DNS server. + +This will allow you to access the containers by going to `https://.` in a browser and serve the SSL certificate, if enabled. diff --git a/gen-docs/docs/getting-started/network-shares/NAS.md b/gen-docs/docs/getting-started/network-shares/NAS.md new file mode 100644 index 0000000..622a15a --- /dev/null +++ b/gen-docs/docs/getting-started/network-shares/NAS.md @@ -0,0 +1,37 @@ +# NAS + +If you have more than 1 share you need to mount, see the **[Additional NAS docs](./additional-nas.md)** after doing this configuration. + +The main mount point is defined in `hms_docker_mount_path` in file `inventory/group_vars/all/main.yml` + +The main NAS share type is defined in `hms_docker_media_share_type` in file `inventory/group_vars/all/main.yml` + +## NFS Shares + +### NFS Requirements + +Required settings for the `hms_docker_media_share_type` of `nfs`: + +In `inventory/group_vars/all/nas_nfs.yml` + +- `nas_client_remote_nfs_path` : the path to the network share (e.g. `nas.example.com:/share`) +- `nas_client_nfs_opts` : the options for the network share (Google can help you find the correct options) + +## CIFS Shares + +:::warning + +The CIFS credentials will be stored in plaintext within the `hms_docker_data_path` folder, but will be owned by `root:root` with `0600` permissions, so only those with root or sudo access can read + +::: + +### CIFS Requirements + +Required settings for the `hms_docker_media_share_type` of `cifs`: + +In `inventory/group_vars/all/nas_cifs.yml` + +- `nas_client_remote_cifs_path` : the path to the network share (e.g. `//nas.example.com/share`) +- `nas_client_cifs_username` : the username of the network share +- `nas_client_cifs_password` : the password of the network share +- `nas_client_cifs_opts` : the options for the network share (Google can help you find the correct options) diff --git a/gen-docs/docs/getting-started/network-shares/_category_.json b/gen-docs/docs/getting-started/network-shares/_category_.json new file mode 100644 index 0000000..d397a63 --- /dev/null +++ b/gen-docs/docs/getting-started/network-shares/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Network shares", + "link": { + "type": "generated-index", + "description": "How to configure network shares for the containers" + } +} diff --git a/gen-docs/docs/getting-started/network-shares/additional-nas.md b/gen-docs/docs/getting-started/network-shares/additional-nas.md new file mode 100644 index 0000000..29a4435 --- /dev/null +++ b/gen-docs/docs/getting-started/network-shares/additional-nas.md @@ -0,0 +1,59 @@ +# Additional NAS Mounts + +If you have more than 1 network share you want to mount, set `nas_client_use_additional_paths` in `inventory/group_vars/all/nas_additional.yml` to `yes` + +## List of Variables + +Use the below variables to create a list of mappings in the `nas_client_remote_additional_paths` variable in `inventory/group_vars/all/nas_additional.yml`. + +Confused? See the [Example below](#example), a version of it already exists in `inventory/group_vars/all/nas_additional.yml` so just modify that. + +### Local Folder + +- `name`: Friendly name of the path +- `local_mount_path`: Local path to the folder +- `type`: Type of path, valid: `local` + +### NFS Share Variables + +- `name`: Friendly name of the path +- `remote_path`: Remote path to the folder +- `local_mount_path`: Local path to where it will be mounted +- `type`: Type of path, valid: `nfs` +- `nfs_opts`: NFS options, default: `defaults` + +### CIFS Share Variables + +- `name`: Friendly name of the path +- `remote_path`: Remote path to the folder +- `local_mount_path`: Local path to where it will be mounted +- `type`: Type of path, valid: `cifs` +- `cifs_username`: CIFS username, default: `""` +- `cifs_password`: CIFS password, default: `""` +- `cifs_opts`: CIFS options, default: `rw,soft` + +## Example + +Below is an example configuration that defines both an NFS mount (the first) and a CIFS mount (the second) that also uses the default mounting location defined in the variable `hms_docker_mount_path` in file `inventory/group_vars/all/main.yml` + +```yaml +nas_client_remote_additional_paths: + [ + { + name: "Media 4K", + remote_path: "192.168.1.5:/Media_4K", + local_mount_path: "{{ hms_docker_mount_path }}/Media_4k", + type: nfs, + nfs_opts: "rw,defaults" + }, + { + name: "Media NAS 3", + remote_path: "//nas.example.com/media_3", + local_mount_path: "{{ hms_docker_mount_path }}_custom_path_3", + type: cifs, + cifs_username: "insecureusername", + cifs_password: "veryinsecurepassword", + cifs_opts: "rw,soft", + }, + ] +``` diff --git a/gen-docs/docs/getting-started/requirements.md b/gen-docs/docs/getting-started/requirements.md new file mode 100644 index 0000000..b37a145 --- /dev/null +++ b/gen-docs/docs/getting-started/requirements.md @@ -0,0 +1,53 @@ +--- +sidebar_position: 1 +--- + +# Requirements + +## Supported Platforms + +Currently only Ubuntu 22.04 LTS is actively supported and is used for GitHub Actions testing. + +Ubuntu 24.04 LTS may work, please submit a [GitHub Issue](https://github.com/ahembree/ansible-hms-docker/issues) if you encounter any. + +I've confirmed this repo also works on a Raspberry Pi 5 with 8GB RAM, but have not tested against other ARM-based systems (Apple Silicon, NAS systems, etc). + +RHEL based systems (CentOS 8, Fedora, Alma Linux, Rocky Linux) may work, but are no longer being tested against and are not officially supported. + +## Hardware + +- Minimum 4 CPU Cores +- Minimum 4GB RAM (2GB additional if using Authentik) +- Minimum 8GB free disk space + +## Software / Services + +- [Supported Platform](#supported-platforms) +- `root` or `sudo` access +- [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/installation_distros.html) +- You own a domain name and are able to modify DNS `A` and `TXT` records (if you want SSL and/or dynamic DNS) + - (Preferred) Have an internal DNS server that can resolve some or all of your domain name/zone. +- You use a [supported VPN provider](https://haugene.github.io/docker-transmission-openvpn/supported-providers/#internal_providers) (if Transmission is enabled) +- You use a [supported DNS provider](https://doc.traefik.io/traefik/https/acme/#providers) (if SSL is enabled) +- You have a Cloudflare account with the correct DNS zones and API keys configured (if Tunnel or dynamic DNS and/or SSL is enabled) +- Nvidia GPU drivers already installed (if using Nvidia GPU acceleration) + +## Network + +If you plan to make Plex and/or Overseerr available outside your local network, the following ports must be forwarded in your router to the IP of the server that will be running these containers. + +Instructions for forwarding ports to the correct device is outside the scope of this project as every router/gateway has different instructions. + +This is in no way guaranteed to be the best or most secure way to do this, and this assumes your ISP does not block these ports. + +Ports required to port forward: + +- `32400/tcp` (Plex) +- `80/tcp` (HTTP) (Not required if using Cloudflare Tunnel) +- `443/tcp` (HTTPS) (Not required if using Cloudflare Tunnel) + +## Technical Skills + +- Familiarity with editing config files (mainly YAML format) +- Familiarity with Linux (installing packages, troubleshooting, etc) +- Familiarity with Docker/containers (debugging, starting/stopping, getting a shell/CLI) diff --git a/gen-docs/docs/getting-started/updating.md b/gen-docs/docs/getting-started/updating.md new file mode 100644 index 0000000..09ab6d7 --- /dev/null +++ b/gen-docs/docs/getting-started/updating.md @@ -0,0 +1,11 @@ +# Updating + +To easily update from this git repo _**and**_ update your custom variable names (due to deprecating/renaming variables) if you are on a previous release, run: + +```bash +make update +``` + +Previous variable names will still work for at least a year after the change and will be noted as such within the default configs. Please update to resolve. + +Please see the [Release Notes](../category/release-notes) if you are updating from a previous version. diff --git a/gen-docs/docs/intro.md b/gen-docs/docs/intro.md new file mode 100644 index 0000000..914b99f --- /dev/null +++ b/gen-docs/docs/intro.md @@ -0,0 +1,29 @@ +--- +sidebar_position: 1 +slug: / +--- + +# Introduction + +ansible-hms-docker helps setup a home media server automation pipeline using many containers. + +The idea was to go from a fresh OS install to a fully running media server after only installing Ansible and configuring variables. + +Setting up the individual container configurations, such as for Sonarr, Radarr, Overseerr, Prowlarr, etc. are outside the scope of this project. The purpose of this project is to ensure the necessary base containers are running with the appropriate configs. There is a basic outline of how to connect the containers together in the [Container Connections](./Examples/container-connections.md) doc. + +## Features + +- GPU acceleration for media transcoding + - Intel and Nvidia GPU support + - You must install the drivers for your Nvidia GPU yourself, it is not included in this playbook, but it will verify GPU acceleration is available +- Automatic Docker installation +- Automatic container updates +- Dynamic DNS updates with Cloudflare +- Wildcard SSL certificate generation +- Support for multiple network shares +- Single Sign-On with Authentik +- Support for separate 4K instances of Sonarr and Radarr +- Automated dashboard configuration in [Homepage](https://gethomepage.dev/) +- Custom scripts + - Advanced monitoring script(s) for Uptime-Kuma to detect if media is actually accessible by the Plex container + - Convert Traefik certificate file to a Plex-supported certificate file (PKCS12) diff --git a/gen-docs/docs/paths.md b/gen-docs/docs/paths.md new file mode 100644 index 0000000..a031162 --- /dev/null +++ b/gen-docs/docs/paths.md @@ -0,0 +1,45 @@ +# File/Directory Layout + +By default, the content is in the following directory structure, if you wish to change the install location, you must change the `hms_docker_data_path` variable in `inventory/group_vars/all/hmsd_advanced.yml` + +Generated compose file location: `/opt/hms-docker/docker-compose.yml` + +Container data directory: `/opt/hms-docker/apps` + +Default mount path for local share (known as the `mount_path` in this readme): `/opt/hms-docker/media_data/` + +Media folder that contains movie and tv show folders (known as the `media_path` in this readme): `/_library` + +Movie folder: `/Movies` + +TV Show folder: `/TV_Shows` + +Secrets file (where sensitive key material is stored, other than the ansible variable files in `inventory/group_vars/all`): `/opt/hms-docker/.env` + +- This files default ownership and permissions requires you to enter the sudo/root password every time you run a `docker-compose` command within the project directory + + - If you wish to get around this (and reduce security), you can change the `secrets_env_user`, `secrets_env_group`, and `secrets_env_mode` within the `inventory/group_vars/all/hmsd_advanced.yml` file + + - These recommended values (if you wish to do this) will allow all users with `docker` access to read the file, and thus run `docker-compose` commands without needing to run as sudo/root, but will not allow them to modify. + + - `secrets_env_user: root` + + - `secrets_env_group: docker` + + - `secrets_env_mode: 0640` + +## File Paths + +As of release version 0.2, file paths were changed in order to support [hardlinks and instant/atomic-moves](https://trash-guides.info/Hardlinks/Hardlinks-and-Instant-Moves/). + +Application configs (Sonarr, Radarr, Plex, etc.) are stored in `/opt/hms-docker/apps//config` by default. + +Network drives will be mounted to a folder within the path specified in the `hms_docker_mount_path` variable in `inventory/group_vars/all/main_custom.yml`. The parent directory of all the mounted folders (`hms_docker_mount_path`) is what is mounted to the required containers on `/data`. + +Hard links are supported as long as the downloads folder and media content folder are on the same filesystem. This means if you have another NAS network share connected that is on a different underlying file system (like a different physical NAS) that you want to put media content on, you must change the download client to download files to that NAS share folder within the container. + +--- + +If you were running the playbook before versioning was implemented (August 2024) and then update your local code with the new code in the repo, you will be prompted multiple times with warnings. It is highly recommended to read these warnings and understand any changes being made as you will likely have to update the paths inside the apps (Sonarr, Radarr, etc) to point to the new directory locations. + +For a full list of all paths changed, please see [the release notes doc](category/release-notes/) diff --git a/gen-docs/docs/release-notes/_category_.json b/gen-docs/docs/release-notes/_category_.json new file mode 100644 index 0000000..b54c938 --- /dev/null +++ b/gen-docs/docs/release-notes/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Release Notes", + "link": { + "type": "generated-index", + "description": "Release notes for ansible-hms-docker" + } +} diff --git a/gen-docs/docs/release-notes/v0.1.md b/gen-docs/docs/release-notes/v0.1.md new file mode 100644 index 0000000..2b40a61 --- /dev/null +++ b/gen-docs/docs/release-notes/v0.1.md @@ -0,0 +1,5 @@ +# Version 0.1 + +Initial versioning implementation, no changes other than writing a new `.hmsd-version` file that will be read on every playbook run. + +If your version is behind the current version, you will be prompted to continue so you are aware of any changes that may be made. It is highly recommened to always read through any changes. diff --git a/gen-docs/docs/release-notes/v0.2.md b/gen-docs/docs/release-notes/v0.2.md new file mode 100644 index 0000000..ebde026 --- /dev/null +++ b/gen-docs/docs/release-notes/v0.2.md @@ -0,0 +1,31 @@ +# Verison 0.2 + +Major changes to file paths inside and outside containers to standardize on one path for all apps in order to support hard links + +* No more multiple volumes per container for data, all data (including multiple NAS paths) is now under 1 `/data` folder in each container + +To update Plex config (source: https://support.plex.tv/articles/201154537-move-media-content-to-a-new-location/): + +* Go to Settings -> Library -> Disable "Empty trash automatically after every scan" + +* Apply playbook + +* Add new Movie and TV paths to the appropriate Plex library + +* Scan for library changes + +* Once scan is finished and media is available, remove the old path from the library config + +To update Arr app configs: + +* Add the new root folder + +* Mass edit the content and change the root path to the new one, select "No, I'll move the files myself" when prompted + +* Edit your lists to also change the root paths + +Remove NAS Transmission download path toggle + +Remove custom Transmission download path + +Remove usenet app optional volume mounts diff --git a/gen-docs/docs/release-notes/v0.3.md b/gen-docs/docs/release-notes/v0.3.md new file mode 100644 index 0000000..46274fc --- /dev/null +++ b/gen-docs/docs/release-notes/v0.3.md @@ -0,0 +1,3 @@ +# Version 1.3 + +No changes other than number, I didn't realize there were already "Tags" for Releases on GitHub so this just aligned them. diff --git a/gen-docs/docs/release-notes/v1.4.md b/gen-docs/docs/release-notes/v1.4.md new file mode 100644 index 0000000..db466e7 --- /dev/null +++ b/gen-docs/docs/release-notes/v1.4.md @@ -0,0 +1,15 @@ +# Version 1.4 + +New containers: + +* Maintainerr +* Unpackerr +* Lidarr +* Autobrr +* Speedtest-Tracker +* Recyclarr +* tinyMediaManager +* PASTA +* Netdata + +I now realize while writing these notes that version 0.2 was merged into 1.3 without a new Tag release, whoops... diff --git a/gen-docs/docs/release-notes/v1.5.md b/gen-docs/docs/release-notes/v1.5.md new file mode 100644 index 0000000..827ac8f --- /dev/null +++ b/gen-docs/docs/release-notes/v1.5.md @@ -0,0 +1,13 @@ +# Version 1.5 + +Modularize the main Docker Compose file to import other containers from files in order to drasitcally reduce line count and make it easier to modify individual containers + +New container: + +* Wizarr + +## Version 1.5.1 + +New container: + +* Jellyseerr diff --git a/gen-docs/docs/release-notes/v1.6.md b/gen-docs/docs/release-notes/v1.6.md new file mode 100644 index 0000000..d93bc18 --- /dev/null +++ b/gen-docs/docs/release-notes/v1.6.md @@ -0,0 +1,7 @@ +# Version 1.6 + +Updated documentation pages + +Removed different "basic" and "advanced" configuration deployments to reduce maintenance, the "advanced" configuration is now the default + +Fix Overseerr and Jellyseerr Traefik allowlist configuration to obey container map settings diff --git a/docs/_img/cloudflare_tunnel_example.png b/gen-docs/docs/static/img/cloudflare_tunnel_example.png similarity index 100% rename from docs/_img/cloudflare_tunnel_example.png rename to gen-docs/docs/static/img/cloudflare_tunnel_example.png diff --git a/docs/_img/cloudflare_tunnel_token.png b/gen-docs/docs/static/img/cloudflare_tunnel_token.png similarity index 100% rename from docs/_img/cloudflare_tunnel_token.png rename to gen-docs/docs/static/img/cloudflare_tunnel_token.png diff --git a/docs/_img/container_connect_example.png b/gen-docs/docs/static/img/container_connect_example.png similarity index 100% rename from docs/_img/container_connect_example.png rename to gen-docs/docs/static/img/container_connect_example.png diff --git a/gen-docs/docusaurus.config.js b/gen-docs/docusaurus.config.js new file mode 100644 index 0000000..8559afd --- /dev/null +++ b/gen-docs/docusaurus.config.js @@ -0,0 +1,92 @@ +// @ts-check +// `@type` JSDoc annotations allow editor autocompletion and type checking +// (when paired with `@ts-check`). +// There are various equivalent ways to declare your Docusaurus config. +// See: https://docusaurus.io/docs/api/docusaurus-config + +import {themes as prismThemes} from 'prism-react-renderer'; + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** @type {import('@docusaurus/types').Config} */ +const config = { + title: 'HMS-Docker Docs', + tagline: 'Automate Everything', + favicon: 'img/favicon.ico', + + url: 'https://hmsdocs.ahembree.dev', + baseUrl: '/', + trailingSlash: false, + + organizationName: 'ahembree', + projectName: 'ansible-hms-docker', + deploymentBranch: 'gh-pages', + + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + presets: [ + [ + 'classic', + /** @type {import('@docusaurus/preset-classic').Options} */ + ({ + docs: { + routeBasePath: '/', + }, + blog: false, + theme: { + customCss: './src/css/custom.css', + }, + }), + ], + ], + + themes: [ + [ + '@easyops-cn/docusaurus-search-local', + /** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */ + { + hashed: true, + indexBlog: false, + docsDir: './docs', + docsRouteBasePath: '/', + explicitSearchResultPath: true, + }, + ], + ], + + themeConfig: + /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ + ({ + image: 'img/docusaurus-social-card.jpg', + navbar: { + title: 'HMS-Docker Docs', + logo: { + alt: 'My Site Logo', + src: 'img/logo.svg', + }, + items: [ + { + href: 'https://github.com/ahembree/ansible-hms-docker', + label: 'GitHub', + position: 'right', + }, + ], + }, + footer: { + style: 'dark', + copyright: `Copyright © ${new Date().getFullYear()}. Built with Docusaurus.`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + }), +}; + +export default config; diff --git a/gen-docs/package-lock.json b/gen-docs/package-lock.json new file mode 100644 index 0000000..415d0e4 --- /dev/null +++ b/gen-docs/package-lock.json @@ -0,0 +1,16620 @@ +{ + "name": "gen-docs", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "gen-docs", + "version": "0.0.0", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/preset-classic": "3.6.1", + "@easyops-cn/docusaurus-search-local": "^0.45.0", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.6.1", + "@docusaurus/types": "3.6.1" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz", + "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", + "@algolia/autocomplete-shared": "1.17.7" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz", + "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz", + "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz", + "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==", + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", + "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.24.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", + "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==", + "license": "MIT" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", + "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.24.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.14.2.tgz", + "integrity": "sha512-7fq1tWIy1aNJEaNHxWy3EwDkuo4k22+NBnxq9QlYVSLLXtr6HqmAm6bQgNNzGT3vm21iKqWO9efk+HIhEM1SzQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", + "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", + "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.14.2.tgz", + "integrity": "sha512-BW1Qzhh9tMKEsWSQQsiOEcHAd6g7zxq9RpPVmyxbDO/O4eA4vyN+Qz5Jzo686kuYdIQKqIPCEtob/JM89tk57g==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.14.2.tgz", + "integrity": "sha512-17zg6pqifKORvvrMIqW6HhwUry9RKRXLgADrgFjZ6PZvGB4oVs12dwRG2/HMrIlpxd9cjeQfdlEgHj6lbAf6QA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", + "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.14.2.tgz", + "integrity": "sha512-gvCX/cczU76Bu1sGcxxTdoIwxe+FnuC1IlW9SF/gzxd3ZzsgzBpzD2puIJqt9fHQsjLxVGkJqKev2FtExnJYZg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.14.2.tgz", + "integrity": "sha512-0imdBZDjqxrshw0+eyJUgnkRAbS2W93UQ3BVj8VjN4xQylIMf0fWs72W7MZFdHlH78JJYydevgzqvGMcV0Z1CA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", + "license": "MIT" + }, + "node_modules/@algolia/ingestion": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.14.2.tgz", + "integrity": "sha512-/p4rBNkW0fgCpCwrwre+jHfzlFQsLemgaAQqyui8NPxw95Wgf3p+DKxYzcmh8dygT7ub7FwztTW+uURLX1uqIQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", + "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==", + "license": "MIT" + }, + "node_modules/@algolia/logger-console": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", + "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", + "license": "MIT", + "dependencies": { + "@algolia/logger-common": "4.24.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.14.2.tgz", + "integrity": "sha512-81R57Y/mS0uNhWpu6cNEfkbkADLW4bP0BNjuPpxAypobv7WzYycUnbMvv1YkN6OsociB4+3M7HfsVzj4Nc09vA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", + "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.14.2.tgz", + "integrity": "sha512-irUvkK+TGBhyivtNCIIbVgNUgbUoHOSk8m/kFX4ddto/PUPmLFRRNNnMHtJ1+OzrJ/uD3Am4FUK2Yt+xgQr05w==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", + "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==", + "license": "MIT" + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.14.2.tgz", + "integrity": "sha512-UNBg5mM4MIYdxPuVjyDL22BC6P87g7WuM91Z1Ky0J19aEGvCSF+oR+9autthROFXdRnAa1rACOjuqn95iBbKpw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.14.2.tgz", + "integrity": "sha512-CTFA03YiLcnpP+JoLRqjHt5pqDHuKWJpLsIBY/60Gmw8pjALZ3TwvbAquRX4Vy+yrin178NxMuU+ilZ54f2IrQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", + "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", + "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", + "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", + "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", + "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", + "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.38.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.9.tgz", + "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz", + "integrity": "sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==", + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.0.tgz", + "integrity": "sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==", + "license": "MIT" + }, + "node_modules/@docsearch/react": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.0.tgz", + "integrity": "sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.17.7", + "@algolia/autocomplete-preset-algolia": "1.17.7", + "@docsearch/css": "3.8.0", + "algoliasearch": "^5.12.0" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.14.2.tgz", + "integrity": "sha512-5Nm5cOOyAGcY+hKNJVmR2jgoGn1nvoANS8W5EfB8yAaUqUxL3lFNUHSkFafAMTCOcVKNDkZQYjUDbOOfdYJLqw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.14.2.tgz", + "integrity": "sha512-5IYt8vbmTA52xyuaZKFwiRoDPeh7hiOC9aBZqqp9fVs6BU01djI/T8pGJXawvwczltCPYzNsdbllV3rqiDbxmQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/recommend": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.14.2.tgz", + "integrity": "sha512-OwELnAZxCUyfjYjqsrFmC7Vfa12kqwbDdLUV0oi4j+4pxDsfPgkiZ6iCH2uPw6X8VK88Hl3InPt+RPaZvcrCWg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/algoliasearch": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.14.2.tgz", + "integrity": "sha512-aYjI4WLamMxbhdJ2QAA99VbDCJOGzMOdT2agh57bi40n86ufkhZSIAf6mkocr7NmtBLtwCnSHvD5NJ+Ky5elWw==", + "license": "MIT", + "dependencies": { + "@algolia/client-abtesting": "5.14.2", + "@algolia/client-analytics": "5.14.2", + "@algolia/client-common": "5.14.2", + "@algolia/client-insights": "5.14.2", + "@algolia/client-personalization": "5.14.2", + "@algolia/client-query-suggestions": "5.14.2", + "@algolia/client-search": "5.14.2", + "@algolia/ingestion": "1.14.2", + "@algolia/monitoring": "1.14.2", + "@algolia/recommend": "5.14.2", + "@algolia/requester-browser-xhr": "5.14.2", + "@algolia/requester-fetch": "5.14.2", + "@algolia/requester-node-http": "5.14.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docusaurus/babel": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.1.tgz", + "integrity": "sha512-JcKaunW8Ml2nTnfnvFc55T00Y+aCpNWnf1KY/gG+wWxHYDH0IdXOOz+k6NAlEAerW8+VYLfUqRIqHZ7N/DVXvQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@babel/preset-react": "^7.25.9", + "@babel/preset-typescript": "^7.25.9", + "@babel/runtime": "^7.25.9", + "@babel/runtime-corejs3": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@docusaurus/logger": "3.6.1", + "@docusaurus/utils": "3.6.1", + "babel-plugin-dynamic-import-node": "^2.3.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/bundler": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.1.tgz", + "integrity": "sha512-vHSEx8Ku9x/gfIC6k4xb8J2nTxagLia0KvZkPZhxfkD1+n8i+Dj4BZPWTmv+kCA17RbgAvECG0XRZ0/ZEspQBQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@docusaurus/babel": "3.6.1", + "@docusaurus/cssnano-preset": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "autoprefixer": "^10.4.14", + "babel-loader": "^9.2.1", + "clean-css": "^5.3.2", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.8.1", + "css-minimizer-webpack-plugin": "^5.0.1", + "cssnano": "^6.1.2", + "file-loader": "^6.2.0", + "html-minifier-terser": "^7.2.0", + "mini-css-extract-plugin": "^2.9.1", + "null-loader": "^4.0.1", + "postcss": "^8.4.26", + "postcss-loader": "^7.3.3", + "react-dev-utils": "^12.0.1", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.95.0", + "webpackbar": "^6.0.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/faster": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/faster": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.1.tgz", + "integrity": "sha512-cDKxPihiM2z7G+4QtpTczS7uxNfNG6naSqM65OmAJET0CFRHbc9mDlLFtQF0lsVES91SHqfcGaaLZmi2FjdwWA==", + "license": "MIT", + "dependencies": { + "@docusaurus/babel": "3.6.1", + "@docusaurus/bundler": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "core-js": "^3.31.1", + "del": "^6.1.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "eval": "^0.1.8", + "fs-extra": "^11.1.1", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.6.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "p-map": "^4.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "rtl-detect": "^1.0.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.6", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "update-notifier": "^6.0.2", + "webpack": "^5.95.0", + "webpack-bundle-analyzer": "^4.10.2", + "webpack-dev-server": "^4.15.2", + "webpack-merge": "^6.0.1" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@mdx-js/react": "^3.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.1.tgz", + "integrity": "sha512-ZxYUmNeyQHW2w4/PJ7d07jQDuxzmKr9uPAQ6IVe5dTkeIeV0mDBB3jOLeJkNoI42Ru9JKEqQ9aVDtM9ct6QHnw==", + "license": "MIT", + "dependencies": { + "cssnano-preset-advanced": "^6.1.2", + "postcss": "^8.4.38", + "postcss-sort-media-queries": "^5.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/logger": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.1.tgz", + "integrity": "sha512-OvetI/nnOMBSqCkUzKAQhnIjhxduECK4qTu3tq/8/h/qqvLsvKURojm04WPE54L+Uy+UXMas0hnbBJd8zDlEOw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.1.tgz", + "integrity": "sha512-KPIsYi0S3X3/rNrW3V1fgOu5t6ahYWc31zTHHod8pacFxdmk9Uf6uuw+Jd6Cly1ilgal+41Ku+s0gmMuqKqiqg==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^1.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.1.tgz", + "integrity": "sha512-J+q1jgm7TnEfVIUZImSFeLA1rghb6nwtoB9siHdcgKpDqFJ9/S7xhQL2aEKE7iZMZYzpu+2F390E9A7GkdEJNA==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.6.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.1.tgz", + "integrity": "sha512-FUmsn3xg/XD/K/4FQd8XHrs92aQdZO5LUtpHnRvO1/6DY87SMz6B6ERAN9IGQQld//M2/LVTHkZy8oVhQZQHIQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "cheerio": "1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "srcset": "^4.0.0", + "tslib": "^2.6.0", + "unist-util-visit": "^5.0.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.1.tgz", + "integrity": "sha512-Uq8kyn5DYCDmkUlB9sWChhWghS4lUFNiQU+RXcAXJ3qCVXsBpPsh6RF+npQG1N+j4wAbjydM1iLLJJzp+x3eMQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/module-type-aliases": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "@types/react-router-config": "^5.0.7", + "combine-promises": "^1.1.0", + "fs-extra": "^11.1.1", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.1.tgz", + "integrity": "sha512-TZtL+2zq20gqGalzoIT2rEF1T4YCZ26jTvlCJXs78+incIajfdHtmdOq7rQW0oV7oqTjpGllbp788nY/vY9jgw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.1.tgz", + "integrity": "sha512-DeKPZtoVExDSYCbzoz7y5Dhc6+YPqRWfVGwEEUyKopSyQYefp0OV8hvASmbJCn2WyThRgspOUhog3FSEhz+agw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "fs-extra": "^11.1.1", + "react-json-view-lite": "^1.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.1.tgz", + "integrity": "sha512-ZEoERiDHxSfhaEeT35ukQ892NzGHWiUvfxUsnPiRuGEhMoQlxMSp60shBuSZ1sUKuZlndoEl5qAXJg09Wls/Sg==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.1.tgz", + "integrity": "sha512-u/E9vXUsZxYaV6Brvfee8NiH/iR0cMml9P/ifz4EpH/Jfxdbw8rbCT0Nm/h7EFgEY48Uqkl5huSbIvFB9n8aTQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "@types/gtag.js": "^0.0.12", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.1.tgz", + "integrity": "sha512-By+NKkGYV8tSo8/RyS1OXikOtqsko5jJZ/uioJfBjsBGgSbiMJ+Y/HogFBke0mgSvf7NPGKZTbYm5+FJ8YUtPQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.1.tgz", + "integrity": "sha512-i8R/GTKew4Cufb+7YQTwfPcNOhKTJzZ1VZ5OqQwI9c3pZK2TltQyhqKDVN94KCTbSSKvOYYytYfRAB2uPnH1/A==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "fs-extra": "^11.1.1", + "sitemap": "^7.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.1.tgz", + "integrity": "sha512-b90Y1XRH9e+oa/E3NmiFEFOwgYUd+knFcZUy81nM3FJs038WbEA0T55NQsuPW0s7nOsCShQ7dVFyKxV+Wp31Nw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/plugin-content-blog": "3.6.1", + "@docusaurus/plugin-content-docs": "3.6.1", + "@docusaurus/plugin-content-pages": "3.6.1", + "@docusaurus/plugin-debug": "3.6.1", + "@docusaurus/plugin-google-analytics": "3.6.1", + "@docusaurus/plugin-google-gtag": "3.6.1", + "@docusaurus/plugin-google-tag-manager": "3.6.1", + "@docusaurus/plugin-sitemap": "3.6.1", + "@docusaurus/theme-classic": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/theme-search-algolia": "3.6.1", + "@docusaurus/types": "3.6.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.1.tgz", + "integrity": "sha512-5lVUmIXk7zp+n9Ki2lYWrmhbd6mssOlKCnnDJvY4QDi3EgjRisIu5g4yKXoWTIbiqE7m7q/dS9cbeShEtfkKng==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/module-type-aliases": "3.6.1", + "@docusaurus/plugin-content-blog": "3.6.1", + "@docusaurus/plugin-content-docs": "3.6.1", + "@docusaurus/plugin-content-pages": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/theme-translations": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "copy-text-to-clipboard": "^3.2.0", + "infima": "0.2.0-alpha.45", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.26", + "prism-react-renderer": "^2.3.0", + "prismjs": "^1.29.0", + "react-router-dom": "^5.3.4", + "rtlcss": "^4.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.1.tgz", + "integrity": "sha512-18iEYNpMvarGfq9gVRpGowSZD24vZ39Iz4acqaj64180i54V9el8tVnhNr/wRvrUm1FY30A1NHLqnMnDz4rYEQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/module-type-aliases": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^2.3.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.1.tgz", + "integrity": "sha512-BjmuiFRpQP1WEm8Mzu1Bb0Wdas6G65VHXDDNr7XTKgbstxalE6vuxt0ioXTDFS2YVep5748aVhKvnxR9gm2Liw==", + "license": "MIT", + "dependencies": { + "@docsearch/react": "^3.5.2", + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/plugin-content-docs": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/theme-translations": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "algoliasearch": "^4.18.0", + "algoliasearch-helper": "^3.13.3", + "clsx": "^2.0.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.1.tgz", + "integrity": "sha512-bNm5G6sueUezvyhsBegA1wwM38yW0BnqpZTE9KHO2yKnkERNMaV5x/yPJ/DNCOHjJtCcJ5Uz55g2AS75Go31xA==", + "license": "MIT", + "dependencies": { + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/types": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.1.tgz", + "integrity": "sha512-hCB1hj9DYutVYBisnPNobz9SzEmCcf1EetJv09O49Cov3BqOkm+vnnjB3d957YJMtpLGQoKBeN/FF1DZ830JwQ==", + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.95.0", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/types/node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docusaurus/utils": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.1.tgz", + "integrity": "sha512-nS3WCvepwrnBEgSG5vQu40XG95lC9Jeh/odV5u5IhU1eQFEGDst9xBi6IK5yZdsGvbuaXBZLZtOqWYtuuFa/rQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@svgr/webpack": "^8.1.0", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "prompts": "^2.4.2", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.1.tgz", + "integrity": "sha512-LX1qiTiC0aS8c92uZ+Wj2iNCNJyYZJIKY8/nZDKNMBfo759VYVS3RX3fKP3DznB+16sYp7++MyCz/T6fOGaRfw==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.6.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.1.tgz", + "integrity": "sha512-+iMd6zRl5cJQm7nUP+7pSO/oAXsN79eHO34ME7l2YJt4GEAr70l5kkD58u2jEPpp+wSXT70c7x2A2lzJI1E8jw==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "fs-extra": "^11.2.0", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@easyops-cn/autocomplete.js": { + "version": "0.38.1", + "resolved": "https://registry.npmjs.org/@easyops-cn/autocomplete.js/-/autocomplete.js-0.38.1.tgz", + "integrity": "sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "immediate": "^3.2.3" + } + }, + "node_modules/@easyops-cn/docusaurus-search-local": { + "version": "0.45.0", + "resolved": "https://registry.npmjs.org/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.45.0.tgz", + "integrity": "sha512-ccJjeYmBHrv2v8Y9eQnH79S0PEKcogACKkEatEKPcad7usQj/14jA9POUUUYW/yougLSXghwe+uIncbuUBuBFg==", + "license": "MIT", + "dependencies": { + "@docusaurus/plugin-content-docs": "^2 || ^3", + "@docusaurus/theme-translations": "^2 || ^3", + "@docusaurus/utils": "^2 || ^3", + "@docusaurus/utils-common": "^2 || ^3", + "@docusaurus/utils-validation": "^2 || ^3", + "@easyops-cn/autocomplete.js": "^0.38.1", + "@node-rs/jieba": "^1.6.0", + "cheerio": "^1.0.0", + "clsx": "^1.1.1", + "debug": "^4.2.0", + "fs-extra": "^10.0.0", + "klaw-sync": "^6.0.0", + "lunr": "^2.3.9", + "lunr-languages": "^1.4.0", + "mark.js": "^8.11.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@docusaurus/theme-common": "^2 || ^3", + "react": "^16.14.0 || ^17 || ^18", + "react-dom": "^16.14.0 || 17 || ^18" + } + }, + "node_modules/@easyops-cn/docusaurus-search-local/node_modules/cheerio": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz", + "integrity": "sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "encoding-sniffer": "^0.2.0", + "htmlparser2": "^9.1.0", + "parse5": "^7.1.2", + "parse5-htmlparser2-tree-adapter": "^7.0.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^6.19.5", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18.17" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/@easyops-cn/docusaurus-search-local/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@easyops-cn/docusaurus-search-local/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@easyops-cn/docusaurus-search-local/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz", + "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", + "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", + "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", + "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.5.tgz", + "integrity": "sha512-kwUxR7J9WLutBbulqg1dfOrMTwhMdXLdcGUhcbCcGwnPLt3gz19uHVdwH1syKVDbE022ZS2vZxOWflFLS0YTjw==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@node-rs/jieba": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba/-/jieba-1.10.4.tgz", + "integrity": "sha512-GvDgi8MnBiyWd6tksojej8anIx18244NmIOc1ovEw8WKNUejcccLfyu8vj66LWSuoZuKILVtNsOy4jvg3aoxIw==", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@node-rs/jieba-android-arm-eabi": "1.10.4", + "@node-rs/jieba-android-arm64": "1.10.4", + "@node-rs/jieba-darwin-arm64": "1.10.4", + "@node-rs/jieba-darwin-x64": "1.10.4", + "@node-rs/jieba-freebsd-x64": "1.10.4", + "@node-rs/jieba-linux-arm-gnueabihf": "1.10.4", + "@node-rs/jieba-linux-arm64-gnu": "1.10.4", + "@node-rs/jieba-linux-arm64-musl": "1.10.4", + "@node-rs/jieba-linux-x64-gnu": "1.10.4", + "@node-rs/jieba-linux-x64-musl": "1.10.4", + "@node-rs/jieba-wasm32-wasi": "1.10.4", + "@node-rs/jieba-win32-arm64-msvc": "1.10.4", + "@node-rs/jieba-win32-ia32-msvc": "1.10.4", + "@node-rs/jieba-win32-x64-msvc": "1.10.4" + } + }, + "node_modules/@node-rs/jieba-android-arm-eabi": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-android-arm-eabi/-/jieba-android-arm-eabi-1.10.4.tgz", + "integrity": "sha512-MhyvW5N3Fwcp385d0rxbCWH42kqDBatQTyP8XbnYbju2+0BO/eTeCCLYj7Agws4pwxn2LtdldXRSKavT7WdzNA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-android-arm64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-android-arm64/-/jieba-android-arm64-1.10.4.tgz", + "integrity": "sha512-XyDwq5+rQ+Tk55A+FGi6PtJbzf974oqnpyCcCPzwU3QVXJCa2Rr4Lci+fx8oOpU4plT3GuD+chXMYLsXipMgJA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-darwin-arm64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.10.4.tgz", + "integrity": "sha512-G++RYEJ2jo0rxF9626KUy90wp06TRUjAsvY/BrIzEOX/ingQYV/HjwQzNPRR1P1o32a6/U8RGo7zEBhfdybL6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-darwin-x64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-darwin-x64/-/jieba-darwin-x64-1.10.4.tgz", + "integrity": "sha512-MmDNeOb2TXIZCPyWCi2upQnZpPjAxw5ZGEj6R8kNsPXVFALHIKMa6ZZ15LCOkSTsKXVC17j2t4h+hSuyYb6qfQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-freebsd-x64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-freebsd-x64/-/jieba-freebsd-x64-1.10.4.tgz", + "integrity": "sha512-/x7aVQ8nqUWhpXU92RZqd333cq639i/olNpd9Z5hdlyyV5/B65LLy+Je2B2bfs62PVVm5QXRpeBcZqaHelp/bg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-linux-arm-gnueabihf": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-arm-gnueabihf/-/jieba-linux-arm-gnueabihf-1.10.4.tgz", + "integrity": "sha512-crd2M35oJBRLkoESs0O6QO3BBbhpv+tqXuKsqhIG94B1d02RVxtRIvSDwO33QurxqSdvN9IeSnVpHbDGkuXm3g==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-linux-arm64-gnu": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-arm64-gnu/-/jieba-linux-arm64-gnu-1.10.4.tgz", + "integrity": "sha512-omIzNX1psUzPcsdnUhGU6oHeOaTCuCjUgOA/v/DGkvWC1jLcnfXe4vdYbtXMh4XOCuIgS1UCcvZEc8vQLXFbXQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-linux-arm64-musl": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-arm64-musl/-/jieba-linux-arm64-musl-1.10.4.tgz", + "integrity": "sha512-Y/tiJ1+HeS5nnmLbZOE+66LbsPOHZ/PUckAYVeLlQfpygLEpLYdlh0aPpS5uiaWMjAXYZYdFkpZHhxDmSLpwpw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-linux-x64-gnu": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-x64-gnu/-/jieba-linux-x64-gnu-1.10.4.tgz", + "integrity": "sha512-WZO8ykRJpWGE9MHuZpy1lu3nJluPoeB+fIJJn5CWZ9YTVhNDWoCF4i/7nxz1ntulINYGQ8VVuCU9LD86Mek97g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-linux-x64-musl": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-x64-musl/-/jieba-linux-x64-musl-1.10.4.tgz", + "integrity": "sha512-uBBD4S1rGKcgCyAk6VCKatEVQb6EDD5I40v/DxODi5CuZVCANi9m5oee/MQbAoaX7RydA2f0OSCE9/tcwXEwUg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-wasm32-wasi": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-wasm32-wasi/-/jieba-wasm32-wasi-1.10.4.tgz", + "integrity": "sha512-Y2umiKHjuIJy0uulNDz9SDYHdfq5Hmy7jY5nORO99B4pySKkcrMjpeVrmWXJLIsEKLJwcCXHxz8tjwU5/uhz0A==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@node-rs/jieba-win32-arm64-msvc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-win32-arm64-msvc/-/jieba-win32-arm64-msvc-1.10.4.tgz", + "integrity": "sha512-nwMtViFm4hjqhz1it/juQnxpXgqlGltCuWJ02bw70YUDMDlbyTy3grCJPpQQpueeETcALUnTxda8pZuVrLRcBA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-win32-ia32-msvc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-win32-ia32-msvc/-/jieba-win32-ia32-msvc-1.10.4.tgz", + "integrity": "sha512-DCAvLx7Z+W4z5oKS+7vUowAJr0uw9JBw8x1Y23Xs/xMA4Em+OOSiaF5/tCJqZUCJ8uC4QeImmgDFiBqGNwxlyA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/jieba-win32-x64-msvc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-1.10.4.tgz", + "integrity": "sha512-+sqemSfS1jjb+Tt7InNbNzrRh1Ua3vProVvC4BZRPg010/leCbGFFiQHpzcPRfpxAXZrzG5Y0YBTsPzN/I4yHQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", + "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "license": "MIT" + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "license": "BSD-3-Clause" + }, + "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==", + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@slorber/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "micromark-util-symbol": "^1.0.1" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", + "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/gtag.js": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "license": "MIT" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", + "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.8" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/prismjs": { + "version": "1.26.5", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", + "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.13", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.13", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "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==", + "license": "ISC" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/algoliasearch": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", + "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-account": "4.24.0", + "@algolia/client-analytics": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-personalization": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/recommend": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.5.tgz", + "integrity": "sha512-lWvhdnc+aKOKx8jyA3bsdEgHzm/sglC4cYdMG4xSQyRiPLJVJtH/IVYZG3Hp6PkTEhQqhyVYkeP9z2IlcHJsWw==", + "license": "MIT", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "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==", + "license": "Python-2.0" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "license": "MIT", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "license": "MIT", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001680", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", + "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "license": "ISC" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.53.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz", + "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz", + "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.39.0.tgz", + "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", + "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "license": "MIT", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "license": "ISC", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", + "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "license": "MIT", + "dependencies": { + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.0", + "cssnano-preset-default": "^6.1.2", + "postcss-discard-unused": "^6.0.5", + "postcss-merge-idents": "^6.0.3", + "postcss-reduce-idents": "^6.0.3", + "postcss-zindex": "^6.0.2" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "license": "MIT", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "license": "MIT" + }, + "node_modules/detect-port": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.62", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.62.tgz", + "integrity": "sha512-t8c+zLmJHa9dJy96yBZRXGQYoiCEnHYgFwn1asvSPZSUdVxnB62A4RASd7k41ytG3ErFBA0TpHlKg9D9SQBmLg==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", + "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding-sniffer": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz", + "integrity": "sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==", + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/encoding-sniffer/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "license": "MIT" + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.2.1.tgz", + "integrity": "sha512-Vt2UOjyPbNQQgT5eJh+K5aATti0OjCIAGc9SgMdOFYbohuifsWclR74l0iZTJwePMgWYdX1hlVS+dedH9XV8kw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.10", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "license": "MIT" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "license": "MIT", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "license": "MIT", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "license": "MIT", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "license": "MIT", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "license": "MIT" + }, + "node_modules/hast-util-to-estree/node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.2.tgz", + "integrity": "sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", + "license": "MIT", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", + "license": "MIT" + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.45", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.45.tgz", + "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "license": "MIT" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "license": "MIT", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "license": "MIT", + "dependencies": { + "package-json": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/launch-editor": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "license": "MIT" + }, + "node_modules/lunr-languages": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.14.0.tgz", + "integrity": "sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==", + "license": "MPL-1.1" + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "license": "MIT" + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz", + "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", + "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "license": "MIT", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", + "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz", + "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-space/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.2.tgz", + "integrity": "sha512-xKxhkB62vwHUuuxHe9Xqty3UaAsizV2YKq5OV344u3hFBbf8zIYrhYOWhAQb94MtMPkjTOzzjJ/hid9/dR5vFA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", + "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" + }, + "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==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/null-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/null-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "license": "MIT", + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC" + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "license": "MIT", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "license": "MIT", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-unused": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-merge-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", + "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "license": "MIT", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", + "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", + "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", + "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "license": "MIT", + "dependencies": { + "sort-css-media-queries": "2.2.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.23" + } + }, + "node_modules/postcss-svgo": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" + }, + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/postcss-zindex": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", + "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.0.tgz", + "integrity": "sha512-327BsVCD/unU4CNLZTWVHyUHKnsqcvj2qbPlQ8MiBE2eq2rgctjigPA1Gp9HLF83kZ20zNN6jgizHJeEsyFYOw==", + "license": "MIT", + "dependencies": { + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "license": "MIT", + "dependencies": { + "escape-goat": "^4.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", + "license": "MIT" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "license": "MIT" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-json-view-lite": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz", + "integrity": "sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", + "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", + "license": "MIT" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.0.tgz", + "integrity": "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", + "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.11.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz", + "integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-emoji": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", + "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.2", + "emoticon": "^4.0.1", + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.0", + "unified": "^11.0.4" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", + "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", + "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "license": "MIT" + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rtl-detect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==", + "license": "BSD-3-Clause" + }, + "node_modules/rtlcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", + "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==", + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0", + "postcss": "^8.4.21", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "license": "MIT", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "license": "MIT", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "license": "MIT", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", + "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "license": "MIT", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", + "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/stylehacks": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "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/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/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==", + "license": "MIT" + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.0.tgz", + "integrity": "sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==", + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/url-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/url-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/url-loader/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpack": { + "version": "5.96.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpackbar": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", + "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "consola": "^3.2.3", + "figures": "^3.2.0", + "markdown-table": "^2.0.0", + "pretty-time": "^1.1.0", + "std-env": "^3.7.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/webpackbar/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/webpackbar/node_modules/markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "license": "MIT", + "dependencies": { + "repeat-string": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpackbar/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "license": "MIT", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/gen-docs/package.json b/gen-docs/package.json new file mode 100644 index 0000000..eebf1b6 --- /dev/null +++ b/gen-docs/package.json @@ -0,0 +1,45 @@ +{ + "name": "gen-docs", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" + }, + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/preset-classic": "3.6.1", + "@easyops-cn/docusaurus-search-local": "^0.45.0", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.6.1", + "@docusaurus/types": "3.6.1" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + } +} diff --git a/gen-docs/sidebars.js b/gen-docs/sidebars.js new file mode 100644 index 0000000..4decdcf --- /dev/null +++ b/gen-docs/sidebars.js @@ -0,0 +1,13 @@ +// @ts-check + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** + * + @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} + */ +const sidebars = { + sidebar: [{type: 'autogenerated', dirName: '.'}], +}; + +export default sidebars; diff --git a/gen-docs/src/css/custom.css b/gen-docs/src/css/custom.css new file mode 100644 index 0000000..2bc6a4c --- /dev/null +++ b/gen-docs/src/css/custom.css @@ -0,0 +1,30 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: #2e8555; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'] { + --ifm-color-primary: #25c2a0; + --ifm-color-primary-dark: #21af90; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} diff --git a/gen-docs/static/.nojekyll b/gen-docs/static/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/gen-docs/static/CNAME b/gen-docs/static/CNAME new file mode 100644 index 0000000..48dfaa5 --- /dev/null +++ b/gen-docs/static/CNAME @@ -0,0 +1 @@ +hmsdocs.ahembree.dev diff --git a/gen-docs/static/img/docusaurus-social-card.jpg b/gen-docs/static/img/docusaurus-social-card.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ffcb448210e1a456cb3588ae8b396a597501f187 GIT binary patch literal 55746 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 fgzs%Vr*-jYG(YMS<ttdtee# literal 0 HcmV?d00001 diff --git a/gen-docs/static/img/docusaurus.png b/gen-docs/static/img/docusaurus.png new file mode 100644 index 0000000000000000000000000000000000000000..f458149e3c8f53335f28fbc162ae67f55575c881 GIT binary patch literal 5142 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 F{0H{b<4^zq literal 0 HcmV?d00001 diff --git a/gen-docs/static/img/favicon.ico b/gen-docs/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c01d54bcd39a5f853428f3cd5aa0f383d963c484 GIT binary patch literal 3626 zcmb`Je@s(X6vrR`EK3%b%orErlDW({vnABqA zcfaS{d+xbU5JKp0*;0YOg+;Fl!eT)XRuapIwFLL`=imZCSon$`se`_<%@MB=M~KG+ z=EW^FL`w|Bo>*ktlaS^(fut!95`iG5u=SZ8nfDHO#GaTlH1-XG^;vsjUb^gWTVz0+ z^=WR1wv9-2oeR=_;fL0H7rNWqAzGtO(D;`~cX(RcN0w2v24Y8)6t`cS^_ghs`_ho? z{0ka~1Dgo8TfAP$r*ua?>$_V+kZ!-(TvEJ7O2f;Y#tezt$&R4 zLI}=-y@Z!grf*h3>}DUL{km4R>ya_I5Ag#{h_&?+HpKS!;$x3LC#CqUQ8&nM?X))Q zXAy2?`YL4FbC5CgJu(M&Q|>1st8XXLZ|5MgwgjP$m_2Vt0(J z&Gu7bOlkbGzGm2sh?X`){7w69Y$1#@P@7DF{ZE=4%T0NDS)iH`tiPSKpDNW)zmtn( zw;4$f>k)4$LBc>eBAaTZeCM2(iD+sHlj!qd z2GjRJ>f_Qes(+mnzdA^NH?^NB(^o-%Gmg$c8MNMq&`vm@9Ut;*&$xSD)PKH{wBCEC z4P9%NQ;n2s59ffMn8*5)5AAg4-93gBXBDX`A7S& zH-|%S3Wd%T79fk-e&l`{!?lve8_epXhE{d3Hn$Cg!t=-4D(t$cK~7f&4s?t7wr3ZP z*!SRQ-+tr|e1|hbc__J`k3S!rMy<0PHy&R`v#aJv?`Y?2{avK5sQz%=Us()jcNuZV z*$>auD4cEw>;t`+m>h?f?%VFJZj8D|Y1e_SjxG%J4{-AkFtT2+ZZS5UScS~%;dp!V>)7zi`w(xwSd*FS;Lml=f6hn#jq)2is4nkp+aTrV?)F6N z>DY#SU0IZ;*?Hu%tSj4edd~kYNHMFvS&5}#3-M;mBCOCZL3&;2obdG?qZ>rD|zC|Lu|sny76pn2xl|6sk~Hs{X9{8iBW zwiwgQt+@hi`FYMEhX2 \ No newline at end of file diff --git a/gen-docs/static/img/undraw_docusaurus_mountain.svg b/gen-docs/static/img/undraw_docusaurus_mountain.svg new file mode 100644 index 0000000..af961c4 --- /dev/null +++ b/gen-docs/static/img/undraw_docusaurus_mountain.svg @@ -0,0 +1,171 @@ + + Easy to Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gen-docs/static/img/undraw_docusaurus_react.svg b/gen-docs/static/img/undraw_docusaurus_react.svg new file mode 100644 index 0000000..94b5cf0 --- /dev/null +++ b/gen-docs/static/img/undraw_docusaurus_react.svg @@ -0,0 +1,170 @@ + + Powered by React + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gen-docs/static/img/undraw_docusaurus_tree.svg b/gen-docs/static/img/undraw_docusaurus_tree.svg new file mode 100644 index 0000000..d9161d3 --- /dev/null +++ b/gen-docs/static/img/undraw_docusaurus_tree.svg @@ -0,0 +1,40 @@ + + Focus on What Matters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 1643d6082662fd385c1f4abc8cd61592efdf922a Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 16:24:13 -0500 Subject: [PATCH 05/34] add deploy docs workflow --- .github/workflows/deploy-docs.yml | 56 +++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/deploy-docs.yml diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..9101caa --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,56 @@ +name: Deploy to GitHub Pages + +on: + push: + paths: + - 'gen-docs/**' + +jobs: + build: + name: Build Docusaurus + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: | + cd gen-docs + npm install --frozen-lockfile + + - name: Build website + run: | + cd gen-docs + npm run build + + - name: Upload Build Artifact + uses: actions/upload-pages-artifact@v3 + with: + path: gen-docs/build + + deploy: + name: Deploy to GitHub Pages + needs: build + concurrency: build-deploy-pages + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From dd2b9b609bb6715c87c653e57bdaec053e026c3a Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 16:26:36 -0500 Subject: [PATCH 06/34] specify lockfile in docs builder --- .github/workflows/deploy-docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 9101caa..937142b 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -19,6 +19,7 @@ jobs: with: node-version: 20 cache: npm + cache-dependency-path: gen-docs/package-lock.json - name: Install dependencies run: | From b4004f051cc0d877a6985a82ff536f826656355b Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 16:27:19 -0500 Subject: [PATCH 07/34] remove path specification during docs build testing --- .github/workflows/deploy-docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 937142b..74f42fb 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -2,8 +2,8 @@ name: Deploy to GitHub Pages on: push: - paths: - - 'gen-docs/**' + #paths: + # - 'gen-docs/**' jobs: build: From 986bb8af368b3f77d7bfd6136267787dc2e7e0f3 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 18:34:53 -0500 Subject: [PATCH 08/34] add cname --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..abe65b8 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +hmsdocs.ahembree.dev \ No newline at end of file From 5357af292662cb04e957b6b73cadca6a855368da Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:12:45 -0500 Subject: [PATCH 09/34] update deploy docs --- .github/workflows/deploy-docs.yml | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 74f42fb..80d3565 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -6,8 +6,9 @@ on: # - 'gen-docs/**' jobs: - build: - name: Build Docusaurus + build-and-deploy: + name: Build and Deploy Docs + concurrency: build-deploy-pages runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -31,27 +32,7 @@ jobs: cd gen-docs npm run build - - name: Upload Build Artifact - uses: actions/upload-pages-artifact@v3 - with: - path: gen-docs/build - - deploy: - name: Deploy to GitHub Pages - needs: build - concurrency: build-deploy-pages - - # Grant GITHUB_TOKEN the permissions required to make a Pages deployment - permissions: - pages: write - id-token: write - - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - - runs-on: ubuntu-latest - steps: - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 + uses: JamesIves/github-pages-deploy-action@v4.6.9 + with: + folder: gen-docs/build From b5727e0eee40199d87344e106c7197bf13ccc61f Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:20:47 -0500 Subject: [PATCH 10/34] revert --- .github/workflows/deploy-docs.yml | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 80d3565..74f42fb 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -6,9 +6,8 @@ on: # - 'gen-docs/**' jobs: - build-and-deploy: - name: Build and Deploy Docs - concurrency: build-deploy-pages + build: + name: Build Docusaurus runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -32,7 +31,27 @@ jobs: cd gen-docs npm run build - - name: Deploy to GitHub Pages - uses: JamesIves/github-pages-deploy-action@v4.6.9 + - name: Upload Build Artifact + uses: actions/upload-pages-artifact@v3 with: - folder: gen-docs/build + path: gen-docs/build + + deploy: + name: Deploy to GitHub Pages + needs: build + concurrency: build-deploy-pages + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From ced985a5eb7d59ff4466756e42756051ccaf0c2b Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:39:03 -0500 Subject: [PATCH 11/34] update docusaurus --- gen-docs/package-lock.json | 2696 +++++++++++++++++++++++++++++++----- gen-docs/package.json | 8 +- 2 files changed, 2382 insertions(+), 322 deletions(-) diff --git a/gen-docs/package-lock.json b/gen-docs/package-lock.json index 415d0e4..a24cae7 100644 --- a/gen-docs/package-lock.json +++ b/gen-docs/package-lock.json @@ -8,8 +8,8 @@ "name": "gen-docs", "version": "0.0.0", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/preset-classic": "3.6.1", + "@docusaurus/core": "^3.6.3", + "@docusaurus/preset-classic": "^3.6.3", "@easyops-cn/docusaurus-search-local": "^0.45.0", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", @@ -18,8 +18,8 @@ "react-dom": "^18.0.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.6.1", - "@docusaurus/types": "3.6.1" + "@docusaurus/module-type-aliases": "^3.6.3", + "@docusaurus/types": "^3.6.3" }, "engines": { "node": ">=18.0" @@ -95,15 +95,15 @@ } }, "node_modules/@algolia/client-abtesting": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.14.2.tgz", - "integrity": "sha512-7fq1tWIy1aNJEaNHxWy3EwDkuo4k22+NBnxq9QlYVSLLXtr6HqmAm6bQgNNzGT3vm21iKqWO9efk+HIhEM1SzQ==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.15.0.tgz", + "integrity": "sha512-FaEM40iuiv1mAipYyiptP4EyxkJ8qHfowCpEeusdHUC4C7spATJYArD2rX3AxkVeREkDIgYEOuXcwKUbDCr7Nw==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -175,24 +175,24 @@ } }, "node_modules/@algolia/client-common": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.14.2.tgz", - "integrity": "sha512-BW1Qzhh9tMKEsWSQQsiOEcHAd6g7zxq9RpPVmyxbDO/O4eA4vyN+Qz5Jzo686kuYdIQKqIPCEtob/JM89tk57g==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.15.0.tgz", + "integrity": "sha512-IofrVh213VLsDkPoSKMeM9Dshrv28jhDlBDLRcVJQvlL8pzue7PEB1EZ4UoJFYS3NSn7JOcJ/V+olRQzXlJj1w==", "license": "MIT", "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-insights": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.14.2.tgz", - "integrity": "sha512-17zg6pqifKORvvrMIqW6HhwUry9RKRXLgADrgFjZ6PZvGB4oVs12dwRG2/HMrIlpxd9cjeQfdlEgHj6lbAf6QA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.15.0.tgz", + "integrity": "sha512-bDDEQGfFidDi0UQUCbxXOCdphbVAgbVmxvaV75cypBTQkJ+ABx/Npw7LkFGw1FsoVrttlrrQbwjvUB6mLVKs/w==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -220,30 +220,30 @@ } }, "node_modules/@algolia/client-query-suggestions": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.14.2.tgz", - "integrity": "sha512-gvCX/cczU76Bu1sGcxxTdoIwxe+FnuC1IlW9SF/gzxd3ZzsgzBpzD2puIJqt9fHQsjLxVGkJqKev2FtExnJYZg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.15.0.tgz", + "integrity": "sha512-wu8GVluiZ5+il8WIRsGKu8VxMK9dAlr225h878GGtpTL6VBvwyJvAyLdZsfFIpY0iN++jiNb31q2C1PlPL+n/A==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-search": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.14.2.tgz", - "integrity": "sha512-0imdBZDjqxrshw0+eyJUgnkRAbS2W93UQ3BVj8VjN4xQylIMf0fWs72W7MZFdHlH78JJYydevgzqvGMcV0Z1CA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.15.0.tgz", + "integrity": "sha512-Z32gEMrRRpEta5UqVQA612sLdoqY3AovvUPClDfMxYrbdDAebmGDVPtSogUba1FZ4pP5dx20D3OV3reogLKsRA==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -256,15 +256,15 @@ "license": "MIT" }, "node_modules/@algolia/ingestion": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.14.2.tgz", - "integrity": "sha512-/p4rBNkW0fgCpCwrwre+jHfzlFQsLemgaAQqyui8NPxw95Wgf3p+DKxYzcmh8dygT7ub7FwztTW+uURLX1uqIQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.15.0.tgz", + "integrity": "sha512-MkqkAxBQxtQ5if/EX2IPqFA7LothghVyvPoRNA/meS2AW2qkHwcxjuiBxv4H6mnAVEPfJlhu9rkdVz9LgCBgJg==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -286,15 +286,15 @@ } }, "node_modules/@algolia/monitoring": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.14.2.tgz", - "integrity": "sha512-81R57Y/mS0uNhWpu6cNEfkbkADLW4bP0BNjuPpxAypobv7WzYycUnbMvv1YkN6OsociB4+3M7HfsVzj4Nc09vA==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.15.0.tgz", + "integrity": "sha512-QPrFnnGLMMdRa8t/4bs7XilPYnoUXDY8PMQJ1sf9ZFwhUysYYhQNX34/enoO0LBjpoOY6rLpha39YQEFbzgKyQ==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -359,12 +359,12 @@ } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.14.2.tgz", - "integrity": "sha512-irUvkK+TGBhyivtNCIIbVgNUgbUoHOSk8m/kFX4ddto/PUPmLFRRNNnMHtJ1+OzrJ/uD3Am4FUK2Yt+xgQr05w==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.15.0.tgz", + "integrity": "sha512-Po/GNib6QKruC3XE+WKP1HwVSfCDaZcXu48kD+gwmtDlqHWKc7Bq9lrS0sNZ456rfCKhXksOmMfUs4wRM/Y96w==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2" + "@algolia/client-common": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -377,24 +377,24 @@ "license": "MIT" }, "node_modules/@algolia/requester-fetch": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.14.2.tgz", - "integrity": "sha512-UNBg5mM4MIYdxPuVjyDL22BC6P87g7WuM91Z1Ky0J19aEGvCSF+oR+9autthROFXdRnAa1rACOjuqn95iBbKpw==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.15.0.tgz", + "integrity": "sha512-rOZ+c0P7ajmccAvpeeNrUmEKoliYFL8aOR5qGW5pFq3oj3Iept7Y5mEtEsOBYsRt6qLnaXn4zUKf+N8nvJpcIw==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2" + "@algolia/client-common": "5.15.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-node-http": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.14.2.tgz", - "integrity": "sha512-CTFA03YiLcnpP+JoLRqjHt5pqDHuKWJpLsIBY/60Gmw8pjALZ3TwvbAquRX4Vy+yrin178NxMuU+ilZ54f2IrQ==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.15.0.tgz", + "integrity": "sha512-b1jTpbFf9LnQHEJP5ddDJKE2sAlhYd7EVSOWgzo/27n/SfCoHfqD0VWntnWYD83PnOKvfe8auZ2+xCb0TXotrQ==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2" + "@algolia/client-common": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -2138,6 +2138,1107 @@ "node": ">=0.1.90" } }, + "node_modules/@csstools/cascade-layer-name-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz", + "integrity": "sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.1.tgz", + "integrity": "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.0.tgz", + "integrity": "sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.6.tgz", + "integrity": "sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.0.1", + "@csstools/css-calc": "^2.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", + "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", + "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz", + "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.1.tgz", + "integrity": "sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.6.tgz", + "integrity": "sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-color-mix-function": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.6.tgz", + "integrity": "sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-content-alt-text": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.4.tgz", + "integrity": "sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-exponential-functions": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.5.tgz", + "integrity": "sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz", + "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gamut-mapping": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.6.tgz", + "integrity": "sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gradients-interpolation-method": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.6.tgz", + "integrity": "sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.6.tgz", + "integrity": "sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.0.tgz", + "integrity": "sha512-9QT5TDGgx7wD3EEMN3BSUG6ckb6Eh5gSPT5kZoVtUuAonfPmLDJyPhqR4ntPpMYhUKAMVKAg3I/AgzqHMSeLhA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-initial": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.0.tgz", + "integrity": "sha512-dv2lNUKR+JV+OOhZm9paWzYBXOCi+rJPqJ2cJuhh9xd8USVrd0cBEPczla81HNOyThMQWeCcdln3gZkQV2kYxA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.1.tgz", + "integrity": "sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-light-dark-function": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.7.tgz", + "integrity": "sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-float-and-clear": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz", + "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overflow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz", + "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overscroll-behavior": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz", + "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-resize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz", + "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-viewport-units": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.3.tgz", + "integrity": "sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-minmax": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.5.tgz", + "integrity": "sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.4.tgz", + "integrity": "sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz", + "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz", + "integrity": "sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.6.tgz", + "integrity": "sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.0.0.tgz", + "integrity": "sha512-XQPtROaQjomnvLUSy/bALTR5VCtTVUFwYs1SblvYgLSeTo2a/bMNwUwo2piXw5rTv/FEYiy5yPSXBqg9OKUx7Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-random-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.1.tgz", + "integrity": "sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-relative-color-syntax": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.6.tgz", + "integrity": "sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz", + "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-sign-functions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.0.tgz", + "integrity": "sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.5.tgz", + "integrity": "sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.1.tgz", + "integrity": "sha512-xPZIikbx6jyzWvhms27uugIc0I4ykH4keRvoa3rxX5K7lEhkbd54rjj/dv60qOCTisoS+3bmwJTeyV1VNBrXaw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/color-helpers": "^5.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.5.tgz", + "integrity": "sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz", + "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/utilities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-2.0.0.tgz", + "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -2186,78 +3287,78 @@ } }, "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.14.2.tgz", - "integrity": "sha512-5Nm5cOOyAGcY+hKNJVmR2jgoGn1nvoANS8W5EfB8yAaUqUxL3lFNUHSkFafAMTCOcVKNDkZQYjUDbOOfdYJLqw==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.15.0.tgz", + "integrity": "sha512-lho0gTFsQDIdCwyUKTtMuf9nCLwq9jOGlLGIeQGKDxXF7HbiAysFIu5QW/iQr1LzMgDyM9NH7K98KY+BiIFriQ==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.14.2.tgz", - "integrity": "sha512-5IYt8vbmTA52xyuaZKFwiRoDPeh7hiOC9aBZqqp9fVs6BU01djI/T8pGJXawvwczltCPYzNsdbllV3rqiDbxmQ==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.15.0.tgz", + "integrity": "sha512-LfaZqLUWxdYFq44QrasCDED5bSYOswpQjSiIL7Q5fYlefAAUO95PzBPKCfUhSwhb4rKxigHfDkd81AvEicIEoA==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@docsearch/react/node_modules/@algolia/recommend": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.14.2.tgz", - "integrity": "sha512-OwELnAZxCUyfjYjqsrFmC7Vfa12kqwbDdLUV0oi4j+4pxDsfPgkiZ6iCH2uPw6X8VK88Hl3InPt+RPaZvcrCWg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.15.0.tgz", + "integrity": "sha512-5eupMwSqMLDObgSMF0XG958zR6GJP3f7jHDQ3/WlzCM9/YIJiWIUoJFGsko9GYsA5xbLDHE/PhWtq4chcCdaGQ==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@docsearch/react/node_modules/algoliasearch": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.14.2.tgz", - "integrity": "sha512-aYjI4WLamMxbhdJ2QAA99VbDCJOGzMOdT2agh57bi40n86ufkhZSIAf6mkocr7NmtBLtwCnSHvD5NJ+Ky5elWw==", - "license": "MIT", - "dependencies": { - "@algolia/client-abtesting": "5.14.2", - "@algolia/client-analytics": "5.14.2", - "@algolia/client-common": "5.14.2", - "@algolia/client-insights": "5.14.2", - "@algolia/client-personalization": "5.14.2", - "@algolia/client-query-suggestions": "5.14.2", - "@algolia/client-search": "5.14.2", - "@algolia/ingestion": "1.14.2", - "@algolia/monitoring": "1.14.2", - "@algolia/recommend": "5.14.2", - "@algolia/requester-browser-xhr": "5.14.2", - "@algolia/requester-fetch": "5.14.2", - "@algolia/requester-node-http": "5.14.2" + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.15.0.tgz", + "integrity": "sha512-Yf3Swz1s63hjvBVZ/9f2P1Uu48GjmjCN+Esxb6MAONMGtZB1fRX8/S1AhUTtsuTlcGovbYLxpHgc7wEzstDZBw==", + "license": "MIT", + "dependencies": { + "@algolia/client-abtesting": "5.15.0", + "@algolia/client-analytics": "5.15.0", + "@algolia/client-common": "5.15.0", + "@algolia/client-insights": "5.15.0", + "@algolia/client-personalization": "5.15.0", + "@algolia/client-query-suggestions": "5.15.0", + "@algolia/client-search": "5.15.0", + "@algolia/ingestion": "1.15.0", + "@algolia/monitoring": "1.15.0", + "@algolia/recommend": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@docusaurus/babel": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.1.tgz", - "integrity": "sha512-JcKaunW8Ml2nTnfnvFc55T00Y+aCpNWnf1KY/gG+wWxHYDH0IdXOOz+k6NAlEAerW8+VYLfUqRIqHZ7N/DVXvQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.3.tgz", + "integrity": "sha512-7dW9Hat9EHYCVicFXYA4hjxBY38+hPuCURL8oRF9fySRm7vzNWuEOghA1TXcykuXZp0HLG2td4RhDxCvGG7tNw==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.9", @@ -2270,8 +3371,8 @@ "@babel/runtime": "^7.25.9", "@babel/runtime-corejs3": "^7.25.9", "@babel/traverse": "^7.25.9", - "@docusaurus/logger": "3.6.1", - "@docusaurus/utils": "3.6.1", + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", "babel-plugin-dynamic-import-node": "^2.3.3", "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -2281,18 +3382,17 @@ } }, "node_modules/@docusaurus/bundler": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.1.tgz", - "integrity": "sha512-vHSEx8Ku9x/gfIC6k4xb8J2nTxagLia0KvZkPZhxfkD1+n8i+Dj4BZPWTmv+kCA17RbgAvECG0XRZ0/ZEspQBQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.3.tgz", + "integrity": "sha512-47JLuc8D4wA+6VOvmMd5fUC9rFppBQpQOnxDYiVXffm/DeV/wmm3sbpNd5Y+O+G2+nevLTRnvCm/qyancv0Y3A==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.9", - "@docusaurus/babel": "3.6.1", - "@docusaurus/cssnano-preset": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "autoprefixer": "^10.4.14", + "@docusaurus/babel": "3.6.3", + "@docusaurus/cssnano-preset": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", "babel-loader": "^9.2.1", "clean-css": "^5.3.2", "copy-webpack-plugin": "^11.0.0", @@ -2305,6 +3405,7 @@ "null-loader": "^4.0.1", "postcss": "^8.4.26", "postcss-loader": "^7.3.3", + "postcss-preset-env": "^10.1.0", "react-dev-utils": "^12.0.1", "terser-webpack-plugin": "^5.3.9", "tslib": "^2.6.0", @@ -2325,18 +3426,18 @@ } }, "node_modules/@docusaurus/core": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.1.tgz", - "integrity": "sha512-cDKxPihiM2z7G+4QtpTczS7uxNfNG6naSqM65OmAJET0CFRHbc9mDlLFtQF0lsVES91SHqfcGaaLZmi2FjdwWA==", - "license": "MIT", - "dependencies": { - "@docusaurus/babel": "3.6.1", - "@docusaurus/bundler": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.3.tgz", + "integrity": "sha512-xL7FRY9Jr5DWqB6pEnqgKqcMPJOX5V0pgWXi5lCiih11sUBmcFKM7c3+GyxcVeeWFxyYSDP3grLTWqJoP4P9Vw==", + "license": "MIT", + "dependencies": { + "@docusaurus/babel": "3.6.3", + "@docusaurus/bundler": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "boxen": "^6.2.1", "chalk": "^4.1.2", "chokidar": "^3.5.3", @@ -2387,9 +3488,9 @@ } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.1.tgz", - "integrity": "sha512-ZxYUmNeyQHW2w4/PJ7d07jQDuxzmKr9uPAQ6IVe5dTkeIeV0mDBB3jOLeJkNoI42Ru9JKEqQ9aVDtM9ct6QHnw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.3.tgz", + "integrity": "sha512-qP7SXrwZ+23GFJdPN4aIHQrZW+oH/7tzwEuc/RNL0+BdZdmIjYQqUxdXsjE4lFxLNZjj0eUrSNYIS6xwfij+5Q==", "license": "MIT", "dependencies": { "cssnano-preset-advanced": "^6.1.2", @@ -2402,9 +3503,9 @@ } }, "node_modules/@docusaurus/logger": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.1.tgz", - "integrity": "sha512-OvetI/nnOMBSqCkUzKAQhnIjhxduECK4qTu3tq/8/h/qqvLsvKURojm04WPE54L+Uy+UXMas0hnbBJd8zDlEOw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.3.tgz", + "integrity": "sha512-xSubJixcNyMV9wMV4q0s47CBz3Rlc5jbcCCuij8pfQP8qn/DIpt0ks8W6hQWzHAedg/J/EwxxUOUrnEoKzJo8g==", "license": "MIT", "dependencies": { "chalk": "^4.1.2", @@ -2415,14 +3516,14 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.1.tgz", - "integrity": "sha512-KPIsYi0S3X3/rNrW3V1fgOu5t6ahYWc31zTHHod8pacFxdmk9Uf6uuw+Jd6Cly1ilgal+41Ku+s0gmMuqKqiqg==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.3.tgz", + "integrity": "sha512-3iJdiDz9540ppBseeI93tWTDtUGVkxzh59nMq4ignylxMuXBLK8dFqVeaEor23v1vx6TrGKZ2FuLaTB+U7C0QQ==", "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -2454,12 +3555,12 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.1.tgz", - "integrity": "sha512-J+q1jgm7TnEfVIUZImSFeLA1rghb6nwtoB9siHdcgKpDqFJ9/S7xhQL2aEKE7iZMZYzpu+2F390E9A7GkdEJNA==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.3.tgz", + "integrity": "sha512-MjaXX9PN/k5ugNvfRZdWyKWq4FsrhN4LEXaj0pEmMebJuBNlFeGyKQUa9DRhJHpadNaiMLrbo9m3U7Ig5YlsZg==", "license": "MIT", "dependencies": { - "@docusaurus/types": "3.6.1", + "@docusaurus/types": "3.6.3", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2473,19 +3574,19 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.1.tgz", - "integrity": "sha512-FUmsn3xg/XD/K/4FQd8XHrs92aQdZO5LUtpHnRvO1/6DY87SMz6B6ERAN9IGQQld//M2/LVTHkZy8oVhQZQHIQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.3.tgz", + "integrity": "sha512-k0ogWwwJU3pFRFfvW1kRVHxzf2DutLGaaLjAnHVEU6ju+aRP0Z5ap/13DHyPOfHeE4WKpn/M0TqjdwZAcY3kAw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "cheerio": "1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^11.1.1", @@ -2507,20 +3608,20 @@ } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.1.tgz", - "integrity": "sha512-Uq8kyn5DYCDmkUlB9sWChhWghS4lUFNiQU+RXcAXJ3qCVXsBpPsh6RF+npQG1N+j4wAbjydM1iLLJJzp+x3eMQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/module-type-aliases": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.3.tgz", + "integrity": "sha512-r2wS8y/fsaDcxkm20W5bbYJFPzdWdEaTWVYjNxlHlcmX086eqQR1Fomlg9BHTJ0dLXPzAlbC8EN4XqMr3QzNCQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -2539,16 +3640,16 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.1.tgz", - "integrity": "sha512-TZtL+2zq20gqGalzoIT2rEF1T4YCZ26jTvlCJXs78+incIajfdHtmdOq7rQW0oV7oqTjpGllbp788nY/vY9jgw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.3.tgz", + "integrity": "sha512-eHrmTgjgLZsuqfsYr5X2xEwyIcck0wseSofWrjTwT9FLOWp+KDmMAuVK+wRo7sFImWXZk3oV/xX/g9aZrhD7OA==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "fs-extra": "^11.1.1", "tslib": "^2.6.0", "webpack": "^5.88.1" @@ -2562,14 +3663,14 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.1.tgz", - "integrity": "sha512-DeKPZtoVExDSYCbzoz7y5Dhc6+YPqRWfVGwEEUyKopSyQYefp0OV8hvASmbJCn2WyThRgspOUhog3FSEhz+agw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.3.tgz", + "integrity": "sha512-zB9GXfIZNPRfzKnNjU6xGVrqn9bPXuGhpjgsuc/YtcTDjnjhasg38NdYd5LEqXex5G/zIorQgWB3n6x/Ut62vQ==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", "fs-extra": "^11.1.1", "react-json-view-lite": "^1.2.0", "tslib": "^2.6.0" @@ -2583,14 +3684,14 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.1.tgz", - "integrity": "sha512-ZEoERiDHxSfhaEeT35ukQ892NzGHWiUvfxUsnPiRuGEhMoQlxMSp60shBuSZ1sUKuZlndoEl5qAXJg09Wls/Sg==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.3.tgz", + "integrity": "sha512-rCDNy1QW8Dag7nZq67pcum0bpFLrwvxJhYuVprhFh8BMBDxV0bY+bAkGHbSf68P3Bk9C3hNOAXX1srGLIDvcTA==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "tslib": "^2.6.0" }, "engines": { @@ -2602,14 +3703,14 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.1.tgz", - "integrity": "sha512-u/E9vXUsZxYaV6Brvfee8NiH/iR0cMml9P/ifz4EpH/Jfxdbw8rbCT0Nm/h7EFgEY48Uqkl5huSbIvFB9n8aTQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.3.tgz", + "integrity": "sha512-+OyDvhM6rqVkQOmLVkQWVJAizEEfkPzVWtIHXlWPOCFGK9X4/AWeBSrU0WG4iMg9Z4zD4YDRrU+lvI4s6DSC+w==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -2622,14 +3723,14 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.1.tgz", - "integrity": "sha512-By+NKkGYV8tSo8/RyS1OXikOtqsko5jJZ/uioJfBjsBGgSbiMJ+Y/HogFBke0mgSvf7NPGKZTbYm5+FJ8YUtPQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.3.tgz", + "integrity": "sha512-1M6UPB13gWUtN2UHX083/beTn85PlRI9ABItTl/JL1FJ5dJTWWFXXsHf9WW/6hrVwthwTeV/AGbGKvLKV+IlCA==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "tslib": "^2.6.0" }, "engines": { @@ -2641,17 +3742,17 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.1.tgz", - "integrity": "sha512-i8R/GTKew4Cufb+7YQTwfPcNOhKTJzZ1VZ5OqQwI9c3pZK2TltQyhqKDVN94KCTbSSKvOYYytYfRAB2uPnH1/A==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.3.tgz", + "integrity": "sha512-94qOO4M9Fwv9KfVQJsgbe91k+fPJ4byf1L3Ez8TUa6TAFPo/BrLwQ80zclHkENlL1824TuxkcMKv33u6eydQCg==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "fs-extra": "^11.1.1", "sitemap": "^7.1.1", "tslib": "^2.6.0" @@ -2665,24 +3766,24 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.1.tgz", - "integrity": "sha512-b90Y1XRH9e+oa/E3NmiFEFOwgYUd+knFcZUy81nM3FJs038WbEA0T55NQsuPW0s7nOsCShQ7dVFyKxV+Wp31Nw==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/plugin-content-blog": "3.6.1", - "@docusaurus/plugin-content-docs": "3.6.1", - "@docusaurus/plugin-content-pages": "3.6.1", - "@docusaurus/plugin-debug": "3.6.1", - "@docusaurus/plugin-google-analytics": "3.6.1", - "@docusaurus/plugin-google-gtag": "3.6.1", - "@docusaurus/plugin-google-tag-manager": "3.6.1", - "@docusaurus/plugin-sitemap": "3.6.1", - "@docusaurus/theme-classic": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/theme-search-algolia": "3.6.1", - "@docusaurus/types": "3.6.1" + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.3.tgz", + "integrity": "sha512-VHSYWROT3flvNNI1SrnMOtW1EsjeHNK9dhU6s9eY5hryZe79lUqnZJyze/ymDe2LXAqzyj6y5oYvyBoZZk6ErA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/plugin-content-blog": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/plugin-content-pages": "3.6.3", + "@docusaurus/plugin-debug": "3.6.3", + "@docusaurus/plugin-google-analytics": "3.6.3", + "@docusaurus/plugin-google-gtag": "3.6.3", + "@docusaurus/plugin-google-tag-manager": "3.6.3", + "@docusaurus/plugin-sitemap": "3.6.3", + "@docusaurus/theme-classic": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-search-algolia": "3.6.3", + "@docusaurus/types": "3.6.3" }, "engines": { "node": ">=18.0" @@ -2693,24 +3794,24 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.1.tgz", - "integrity": "sha512-5lVUmIXk7zp+n9Ki2lYWrmhbd6mssOlKCnnDJvY4QDi3EgjRisIu5g4yKXoWTIbiqE7m7q/dS9cbeShEtfkKng==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/module-type-aliases": "3.6.1", - "@docusaurus/plugin-content-blog": "3.6.1", - "@docusaurus/plugin-content-docs": "3.6.1", - "@docusaurus/plugin-content-pages": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/theme-translations": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.3.tgz", + "integrity": "sha512-1RRLK1tSArI2c00qugWYO3jRocjOZwGF1mBzPPylDVRwWCS/rnWWR91ChdbbaxIupRJ+hX8ZBYrwr5bbU0oztQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/plugin-content-blog": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/plugin-content-pages": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-translations": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", @@ -2734,15 +3835,15 @@ } }, "node_modules/@docusaurus/theme-common": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.1.tgz", - "integrity": "sha512-18iEYNpMvarGfq9gVRpGowSZD24vZ39Iz4acqaj64180i54V9el8tVnhNr/wRvrUm1FY30A1NHLqnMnDz4rYEQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.3.tgz", + "integrity": "sha512-b8ZkhczXHDxWWyvz+YJy4t/PlPbEogTTbgnHoflYnH7rmRtyoodTsu8WVM12la5LmlMJBclBXFl29OH8kPE7gg==", "license": "MIT", "dependencies": { - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/module-type-aliases": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2762,19 +3863,19 @@ } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.1.tgz", - "integrity": "sha512-BjmuiFRpQP1WEm8Mzu1Bb0Wdas6G65VHXDDNr7XTKgbstxalE6vuxt0ioXTDFS2YVep5748aVhKvnxR9gm2Liw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.3.tgz", + "integrity": "sha512-rt+MGCCpYgPyWCGXtbxlwFbTSobu15jWBTPI2LHsHNa5B0zSmOISX6FWYAPt5X1rNDOqMGM0FATnh7TBHRohVA==", "license": "MIT", "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/plugin-content-docs": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/theme-translations": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-translations": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "algoliasearch": "^4.18.0", "algoliasearch-helper": "^3.13.3", "clsx": "^2.0.0", @@ -2793,9 +3894,9 @@ } }, "node_modules/@docusaurus/theme-translations": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.1.tgz", - "integrity": "sha512-bNm5G6sueUezvyhsBegA1wwM38yW0BnqpZTE9KHO2yKnkERNMaV5x/yPJ/DNCOHjJtCcJ5Uz55g2AS75Go31xA==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.3.tgz", + "integrity": "sha512-Gb0regclToVlngSIIwUCtBMQBq48qVUaN1XQNKW4XwlsgUyk0vP01LULdqbem7czSwIeBAFXFoORJ0RPX7ht/w==", "license": "MIT", "dependencies": { "fs-extra": "^11.1.1", @@ -2806,9 +3907,9 @@ } }, "node_modules/@docusaurus/types": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.1.tgz", - "integrity": "sha512-hCB1hj9DYutVYBisnPNobz9SzEmCcf1EetJv09O49Cov3BqOkm+vnnjB3d957YJMtpLGQoKBeN/FF1DZ830JwQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", + "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", "license": "MIT", "dependencies": { "@mdx-js/mdx": "^3.0.0", @@ -2841,14 +3942,14 @@ } }, "node_modules/@docusaurus/utils": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.1.tgz", - "integrity": "sha512-nS3WCvepwrnBEgSG5vQu40XG95lC9Jeh/odV5u5IhU1eQFEGDst9xBi6IK5yZdsGvbuaXBZLZtOqWYtuuFa/rQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.3.tgz", + "integrity": "sha512-0R/FR3bKVl4yl8QwbL4TYFfR+OXBRpVUaTJdENapBGR3YMwfM6/JnhGilWQO8AOwPJGtGoDK7ib8+8UF9f3OZQ==", "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils-common": "3.6.1", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-common": "3.6.3", "@svgr/webpack": "^8.1.0", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", @@ -2873,12 +3974,12 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.1.tgz", - "integrity": "sha512-LX1qiTiC0aS8c92uZ+Wj2iNCNJyYZJIKY8/nZDKNMBfo759VYVS3RX3fKP3DznB+16sYp7++MyCz/T6fOGaRfw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.3.tgz", + "integrity": "sha512-v4nKDaANLgT3pMBewHYEMAl/ufY0LkXao1QkFWzI5huWFOmNQ2UFzv2BiKeHX5Ownis0/w6cAyoxPhVdDonlSQ==", "license": "MIT", "dependencies": { - "@docusaurus/types": "3.6.1", + "@docusaurus/types": "3.6.3", "tslib": "^2.6.0" }, "engines": { @@ -2886,14 +3987,14 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.1.tgz", - "integrity": "sha512-+iMd6zRl5cJQm7nUP+7pSO/oAXsN79eHO34ME7l2YJt4GEAr70l5kkD58u2jEPpp+wSXT70c7x2A2lzJI1E8jw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.3.tgz", + "integrity": "sha512-bhEGGiN5BE38h21vjqD70Gxg++j+PfYVddDUE5UFvLDup68QOcpD33CLr+2knPorlxRbEaNfz6HQDUMQ3HuqKw==", "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", "fs-extra": "^11.2.0", "joi": "^17.9.2", "js-yaml": "^4.1.0", @@ -5922,6 +7023,44 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/css-blank-pseudo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", + "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/css-declaration-sorter": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", @@ -5934,6 +7073,68 @@ "postcss": "^8.0.9" } }, + "node_modules/css-has-pseudo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.1.tgz", + "integrity": "sha512-EOcoyJt+OsuKfCADgLT7gADZI5jMzIe/AeI6MeAYKiFBDmNmM7kk46DtSfMj5AohUJisqVzopBpnQTlvbyaBWg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/css-loader": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", @@ -6013,6 +7214,28 @@ } } }, + "node_modules/css-prefers-color-scheme": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz", + "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/css-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", @@ -6054,6 +7277,22 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/cssdb": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.2.1.tgz", + "integrity": "sha512-KwEPys7lNsC8OjASI8RrmwOYYDcm0JOW9zQhcV83ejYcQkirTEyeAGui8aO2F5PiS6SLpxuTzl6qlMElIdsgIg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "MIT-0" + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -12519,38 +13758,172 @@ "url": "https://opencollective.com/postcss/" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", + "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.6.tgz", + "integrity": "sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", + "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "opencollective", + "url": "https://opencollective.com/csstools" } ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", - "license": "MIT", + "node_modules/postcss-color-rebeccapurple": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", + "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "postcss-selector-parser": "^6.0.11", + "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.2.2" + "postcss": "^8.4" } }, "node_modules/postcss-colormin": { @@ -12587,6 +13960,142 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-custom-media": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.5.tgz", + "integrity": "sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-properties": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.4.tgz", + "integrity": "sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.4.tgz", + "integrity": "sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", + "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-discard-comments": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", @@ -12617,37 +14126,226 @@ "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-unused": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.0.tgz", + "integrity": "sha512-JkIGah3RVbdSEIrcobqj4Gzq0h53GG4uqDPsho88SgY84WnpkTpI0k50MFK/sX7XqVisZ6OqUfFnoUO6m1WWdg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", + "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-focus-within": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", + "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", + "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4" } }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", - "license": "MIT", + "node_modules/postcss-image-set-function": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", + "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4" } }, - "node_modules/postcss-discard-unused": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", - "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", - "license": "MIT", + "node_modules/postcss-lab-function": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.6.tgz", + "integrity": "sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "postcss-selector-parser": "^6.0.16" + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4" } }, "node_modules/postcss-loader": { @@ -12672,6 +14370,31 @@ "webpack": "^5.0.0" } }, + "node_modules/postcss-logical": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.0.0.tgz", + "integrity": "sha512-HpIdsdieClTjXLOyYdUPAX/XQASNIwdKt5hoZW08ZOAiI+tbV0ta1oclkpVkW5ANU+xJvk3KkA0FejkjGLXUkg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/postcss-merge-idents": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", @@ -12871,6 +14594,90 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-nesting": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.1.tgz", + "integrity": "sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-resolve-nested": "^3.0.0", + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.0.0.tgz", + "integrity": "sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-normalize-charset": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", @@ -13004,6 +14811,28 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-opacity-percentage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", + "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/postcss-ordered-values": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", @@ -13020,6 +14849,190 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-overflow-shorthand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", + "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz", + "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-preset-env": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.1.tgz", + "integrity": "sha512-wqqsnBFD6VIwcHHRbhjTOcOi4qRVlB26RwSr0ordPj7OubRRxdWebv/aLjKLRR8zkZrbxZyuus03nOIgC5elMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^5.0.1", + "@csstools/postcss-color-function": "^4.0.6", + "@csstools/postcss-color-mix-function": "^3.0.6", + "@csstools/postcss-content-alt-text": "^2.0.4", + "@csstools/postcss-exponential-functions": "^2.0.5", + "@csstools/postcss-font-format-keywords": "^4.0.0", + "@csstools/postcss-gamut-mapping": "^2.0.6", + "@csstools/postcss-gradients-interpolation-method": "^5.0.6", + "@csstools/postcss-hwb-function": "^4.0.6", + "@csstools/postcss-ic-unit": "^4.0.0", + "@csstools/postcss-initial": "^2.0.0", + "@csstools/postcss-is-pseudo-class": "^5.0.1", + "@csstools/postcss-light-dark-function": "^2.0.7", + "@csstools/postcss-logical-float-and-clear": "^3.0.0", + "@csstools/postcss-logical-overflow": "^2.0.0", + "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", + "@csstools/postcss-logical-resize": "^3.0.0", + "@csstools/postcss-logical-viewport-units": "^3.0.3", + "@csstools/postcss-media-minmax": "^2.0.5", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.4", + "@csstools/postcss-nested-calc": "^4.0.0", + "@csstools/postcss-normalize-display-values": "^4.0.0", + "@csstools/postcss-oklab-function": "^4.0.6", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/postcss-random-function": "^1.0.1", + "@csstools/postcss-relative-color-syntax": "^3.0.6", + "@csstools/postcss-scope-pseudo-class": "^4.0.1", + "@csstools/postcss-sign-functions": "^1.1.0", + "@csstools/postcss-stepped-value-functions": "^4.0.5", + "@csstools/postcss-text-decoration-shorthand": "^4.0.1", + "@csstools/postcss-trigonometric-functions": "^4.0.5", + "@csstools/postcss-unset-value": "^4.0.0", + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.1", + "css-blank-pseudo": "^7.0.1", + "css-has-pseudo": "^7.0.1", + "css-prefers-color-scheme": "^10.0.0", + "cssdb": "^8.2.1", + "postcss-attribute-case-insensitive": "^7.0.1", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^7.0.6", + "postcss-color-hex-alpha": "^10.0.0", + "postcss-color-rebeccapurple": "^10.0.0", + "postcss-custom-media": "^11.0.5", + "postcss-custom-properties": "^14.0.4", + "postcss-custom-selectors": "^8.0.4", + "postcss-dir-pseudo-class": "^9.0.1", + "postcss-double-position-gradients": "^6.0.0", + "postcss-focus-visible": "^10.0.1", + "postcss-focus-within": "^9.0.1", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^6.0.0", + "postcss-image-set-function": "^7.0.0", + "postcss-lab-function": "^7.0.6", + "postcss-logical": "^8.0.0", + "postcss-nesting": "^13.0.1", + "postcss-opacity-percentage": "^3.0.0", + "postcss-overflow-shorthand": "^6.0.0", + "postcss-page-break": "^3.0.4", + "postcss-place": "^10.0.0", + "postcss-pseudo-class-any-link": "^10.0.1", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^8.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", + "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-reduce-idents": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", @@ -13066,6 +15079,53 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", + "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-selector-parser": { "version": "6.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", diff --git a/gen-docs/package.json b/gen-docs/package.json index eebf1b6..9c5f5c4 100644 --- a/gen-docs/package.json +++ b/gen-docs/package.json @@ -14,8 +14,8 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/preset-classic": "3.6.1", + "@docusaurus/core": "^3.6.3", + "@docusaurus/preset-classic": "^3.6.3", "@easyops-cn/docusaurus-search-local": "^0.45.0", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", @@ -24,8 +24,8 @@ "react-dom": "^18.0.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.6.1", - "@docusaurus/types": "3.6.1" + "@docusaurus/module-type-aliases": "^3.6.3", + "@docusaurus/types": "^3.6.3" }, "browserslist": { "production": [ From bb09327d85b7bcf50ea375743705e96c7d2d0c75 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:39:27 -0500 Subject: [PATCH 12/34] add test deployment step --- .github/workflows/test-deploy-docs.yml | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/test-deploy-docs.yml diff --git a/.github/workflows/test-deploy-docs.yml b/.github/workflows/test-deploy-docs.yml new file mode 100644 index 0000000..75309a6 --- /dev/null +++ b/.github/workflows/test-deploy-docs.yml @@ -0,0 +1,29 @@ +name: Test deployment + +on: + pull_request: + branches: + - master + +jobs: + test-deploy: + name: Test deployment + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: | + cd gen-docs + npm install --frozen-lockfile + + - name: Test build website + run: | + cd gen-docs + npm run build From eb88d47fc93717daaff82e1286cce0efa9ff539b Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:41:21 -0500 Subject: [PATCH 13/34] add ubuntu 24 test --- .github/workflows/run-playbook.yml | 54 +++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run-playbook.yml b/.github/workflows/run-playbook.yml index b43898b..9178be5 100644 --- a/.github/workflows/run-playbook.yml +++ b/.github/workflows/run-playbook.yml @@ -1,5 +1,5 @@ name: Deployment Tests -run-name: Test Deployment +run-name: Test Ubuntu Deployments on: push: pull_request: @@ -61,3 +61,55 @@ jobs: hms-docker.yml --diff --extra-vars "@.github/extra-vars.yml" + + Ubuntu_24: + runs-on: ubuntu-24.04 + steps: + - name: Check out repo code + uses: actions/checkout@v4 + + - name: Install ansible + run: | + sudo apt update + sudo sudo apt install software-properties-common + sudo add-apt-repository --yes --update ppa:ansible/ansible + sudo apt install ansible + + - name: Ensure base playbook requirements + # does not use the `make` command since it requires input and we cannot input in a Runner + run: | + mkdir -p ./inventory/group_vars/all + cp ./roles/hmsdocker/defaults/main/*.yml ./inventory/group_vars/all + chmod 0600 ./inventory/group_vars/all/*.yml + make install-reqs + + - name: Run playbook in check mode + run: >- + sudo ansible-playbook + -i inventory/hosts.yml + hms-docker.yml + --diff + --check + --extra-vars "@.github/extra-vars.yml" + + - name: Run playbook + run: >- + sudo ansible-playbook + -i inventory/hosts.yml + hms-docker.yml + --diff + --extra-vars "@.github/extra-vars.yml" + + - name: Check containers + run: | + sleep 60 + sudo pip3 install -r .github/workflows/scripts/requirements.txt + sudo make verify-containers + + - name: Run playbook again to ensure API keys are retrieved + run: >- + sudo ansible-playbook + -i inventory/hosts.yml + hms-docker.yml + --diff + --extra-vars "@.github/extra-vars.yml" From 38a82d3e47adb00711e7dfe9c80c4e4cd9dbc203 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:51:48 -0500 Subject: [PATCH 14/34] remove cname file that somehow got there --- CNAME | 1 - 1 file changed, 1 deletion(-) delete mode 100644 CNAME diff --git a/CNAME b/CNAME deleted file mode 100644 index abe65b8..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -hmsdocs.ahembree.dev \ No newline at end of file From 1a4bba71ad6a09ee2bd91ab847d30c19ccecb132 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:52:56 -0500 Subject: [PATCH 15/34] add workflow trigger criteria --- .github/workflows/deploy-docs.yml | 4 ++-- .github/workflows/run-playbook.yml | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 74f42fb..937142b 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -2,8 +2,8 @@ name: Deploy to GitHub Pages on: push: - #paths: - # - 'gen-docs/**' + paths: + - 'gen-docs/**' jobs: build: diff --git a/.github/workflows/run-playbook.yml b/.github/workflows/run-playbook.yml index 9178be5..c9a5286 100644 --- a/.github/workflows/run-playbook.yml +++ b/.github/workflows/run-playbook.yml @@ -2,6 +2,8 @@ name: Deployment Tests run-name: Test Ubuntu Deployments on: push: + paths-ignore: + - 'gen-docs/**' pull_request: schedule: - cron: '23 9 * * 0' From 48d86a30c4475378d8f6a5cd84773afdf83481d5 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:01:11 -0500 Subject: [PATCH 16/34] remove sudo from pip install in ubuntu24 --- .github/workflows/run-playbook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-playbook.yml b/.github/workflows/run-playbook.yml index c9a5286..8d87cfc 100644 --- a/.github/workflows/run-playbook.yml +++ b/.github/workflows/run-playbook.yml @@ -105,7 +105,7 @@ jobs: - name: Check containers run: | sleep 60 - sudo pip3 install -r .github/workflows/scripts/requirements.txt + pip3 install -r .github/workflows/scripts/requirements.txt sudo make verify-containers - name: Run playbook again to ensure API keys are retrieved From af2d325aff7b8c840117f235964f7023d86d4954 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:12:32 -0500 Subject: [PATCH 17/34] update main readme --- README.md | 36 +++++++++++++++++++++++------------- gen-docs/README.md | 22 +++------------------- 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index b83746b..7f6f69a 100644 --- a/README.md +++ b/README.md @@ -4,19 +4,29 @@ Ansible Playbook to setup an automated Home Media Server stack running on Docker across a variety of platforms with support for GPUs, SSL, SSO, DDNS, and more. -Please see the docs page at: https://hmsdocs.ahembree.dev +## Features + +- GPU acceleration for media transcoding + - Intel and Nvidia GPU support + - You must install the drivers for your Nvidia GPU yourself, it is not included in this playbook, but it will verify GPU acceleration is available +- Automatic Docker installation +- Automatic container updates +- Dynamic DNS updates with Cloudflare +- Wildcard SSL certificate generation +- Support for multiple network shares +- Single Sign-On with Authentik +- Support for separate 4K instances of Sonarr and Radarr +- Automated dashboard configuration in [Homepage](https://gethomepage.dev/) +- Custom scripts + - Advanced monitoring script(s) for Uptime-Kuma to detect if media is actually accessible by the Plex container + - Convert Traefik certificate file to a Plex-supported certificate file (PKCS12) ## Getting Started -- [Container List](#container-list) -- [Other Features](#other-features) -- [Supported Platforms](#supported-platforms) -- [Requirements](#requirements) -- [Warnings](#warning) -- [Installation](#installation) -- [Updating](#updating) -- [Configuration](#configuration) -- [Content layout](#content-layout) -- [Using Cloudflare Tunnel](./docs/Cloudflare.md/#cloudflare-tunnel) -- [Using Authentik](./docs/Authentik.md) -- [Adding External Services to Traefik](./docs/Traefik.md/#adding-external-services-to-traefik) +Please see the docs page at: https://hmsdocs.ahembree.dev + +## Contributing + +Pull requests are always welcome! + +If you have suggestions for containers to add or any other improvements, please submit a [Discussion Post](https://github.com/ahembree/ansible-hms-docker/discussions) diff --git a/gen-docs/README.md b/gen-docs/README.md index 0c6c2c2..af084a1 100644 --- a/gen-docs/README.md +++ b/gen-docs/README.md @@ -5,13 +5,13 @@ This website is built using [Docusaurus](https://docusaurus.io/), a modern stati ### Installation ``` -$ yarn +$ npm install ``` ### Local Development ``` -$ yarn start +$ npm run start ``` This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. @@ -19,23 +19,7 @@ This command starts a local development server and opens up a browser window. Mo ### Build ``` -$ yarn build +$ npm run build ``` This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -``` -$ USE_SSH=true yarn deploy -``` - -Not using SSH: - -``` -$ GIT_USER= yarn deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. From 19a23f75a83a3de5d6fe4478918b0b0d976f5c84 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:57:43 -0500 Subject: [PATCH 18/34] update docs domain --- gen-docs/docusaurus.config.js | 2 +- gen-docs/static/CNAME | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gen-docs/docusaurus.config.js b/gen-docs/docusaurus.config.js index 8559afd..bb6c0e0 100644 --- a/gen-docs/docusaurus.config.js +++ b/gen-docs/docusaurus.config.js @@ -14,7 +14,7 @@ const config = { tagline: 'Automate Everything', favicon: 'img/favicon.ico', - url: 'https://hmsdocs.ahembree.dev', + url: 'https://docs.hmsdocker.dev/', baseUrl: '/', trailingSlash: false, diff --git a/gen-docs/static/CNAME b/gen-docs/static/CNAME index 48dfaa5..5a226ab 100644 --- a/gen-docs/static/CNAME +++ b/gen-docs/static/CNAME @@ -1 +1 @@ -hmsdocs.ahembree.dev +docs.hmsdocker.dev From 43d0392b392f8672def836a7b2c462ab406cfd62 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:57:56 -0500 Subject: [PATCH 19/34] default dark mode --- gen-docs/docusaurus.config.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gen-docs/docusaurus.config.js b/gen-docs/docusaurus.config.js index bb6c0e0..b3a63dd 100644 --- a/gen-docs/docusaurus.config.js +++ b/gen-docs/docusaurus.config.js @@ -64,6 +64,10 @@ const config = { /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ image: 'img/docusaurus-social-card.jpg', + colorMode: { + defaultMode: 'dark', + respectPrefersColorScheme: false, + }, navbar: { title: 'HMS-Docker Docs', logo: { From 78b548712774ca20e3ee455da9c8df2b14e9aba1 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:59:24 -0500 Subject: [PATCH 20/34] update docs --- gen-docs/docs/container-map.md | 21 +++++++++++++ gen-docs/docs/getting-started/install.md | 40 ++++++++++++++++++++---- gen-docs/docs/intro.md | 6 ++++ 3 files changed, 61 insertions(+), 6 deletions(-) diff --git a/gen-docs/docs/container-map.md b/gen-docs/docs/container-map.md index c967e00..5b4c987 100644 --- a/gen-docs/docs/container-map.md +++ b/gen-docs/docs/container-map.md @@ -1,5 +1,26 @@ # Container Map +The container map controls which containers are enabled, if they are accessible via Traefik, protected by Authentik, integrated with Homepage, and the proxy rule used to access the container if behind Traefik. + +By default, the container map is in `inventory/group_vars/all/container_map.yml` + +Here is an example of a container map entry for Sonarr: + +```yaml +... + sonarr: # Do not modify this value + enabled: yes # Enables or disables the container named above + proxy_host_rule: sonarr # The subdomain that will route to the container (based on Host header) + directory: yes # Do not modify, controls if a container "app" folder is created + traefik: yes # If container should be accessible via Traefik (such as `.`) + authentik: no # If container should be protected by Authentik + authentik_provider_type: proxy # The type of integration with Authentik. Likely `proxy` unless you know it's `oauth2` + expose_to_public: no # If the container should be exposed to public (0.0.0.0/0) traffic + homepage: yes # If the integration with the Homepage container should be enabled + homepage_stats: no # Enables advanced stats for the container within Homepage +... +``` + ## Notes If both Jellyfin and Emby are enabled, then Emby will be available on ports `8097` and `8921` (if ports are being exposed for both Jellyfin and Emby) diff --git a/gen-docs/docs/getting-started/install.md b/gen-docs/docs/getting-started/install.md index b1b8131..a7eb9b3 100644 --- a/gen-docs/docs/getting-started/install.md +++ b/gen-docs/docs/getting-started/install.md @@ -16,10 +16,38 @@ To ensure no conflicting changes with an existing system, you can run this playb :::tip -You can skip this first Ansible install step if you already have Ansible installed to a "control node" (a system that can SSH into the target host) +You can skip the Ansible install in step 1 if you already have Ansible installed to a "control node" (a system that can SSH into the target host). + +If this is your case, see [Remote Host](#remote-host) ::: +### Local Host + +If installing to the same system you will clone/download this repo to, no changes are needed + +### Remote Host + +#### Requirements + +- Ability to SSH into remote host +- Sudo privileges on remote host + +If installing to a remote host (a different system than where Ansible is installed), you will need to modify your `inventory/hosts.yml` file to specify the remote host: + +```yaml +all: + hosts: + hmsdockerhost: + ansible_host: 192.168.1.2 # The IP address of the target host you want to install to + # Uncomment and modify the following if you have a specific user you use for Ansible: + # ansible_user: ansibleuser + # ansible_ssh_private_key_file: /path/to/key/file + # ansible_ssh_pass: foo +``` + +### Install Steps + 1. Install Ansible for your system by following the instructions available here: https://docs.ansible.com/ansible/latest/installation_guide/installation_distros.html 2. Install requirements and clone the repository: @@ -36,9 +64,7 @@ You can skip this first Ansible install step if you already have Ansible install cd ansible-hms-docker/ ``` -3. Proceed to [configuring the deployment](#configuration-files) - ---- +3. Proceed to [configuration](#configuration-files) ## Configuration Files @@ -48,11 +74,11 @@ All configuration files are stored in `inventory/group_vars/all` after running t ::: -1. To initialize the configuration files, run `make config` +4. To initialize the configuration files, run `make config` :::warning -Re-running this command will overwrite any existing files in the config directory +Re-running this command will overwrite any existing files in the config directory (basically a reset to default configuration) ::: @@ -64,6 +90,8 @@ To select the containers you want to use, you will need to modify the `inventory Within there, you will find a giant list of containers to modify in the `hms_docker_container_map` variable. +For an example of a container map entry, check the [Container Map](../container-map.md) docs + To enable a container, set its `enabled` value to `yes`. There is a small number of containers not in this list since they do not need config directories and are not routed through Traefik. diff --git a/gen-docs/docs/intro.md b/gen-docs/docs/intro.md index 914b99f..480bdb7 100644 --- a/gen-docs/docs/intro.md +++ b/gen-docs/docs/intro.md @@ -27,3 +27,9 @@ Setting up the individual container configurations, such as for Sonarr, Radarr, - Custom scripts - Advanced monitoring script(s) for Uptime-Kuma to detect if media is actually accessible by the Plex container - Convert Traefik certificate file to a Plex-supported certificate file (PKCS12) + +## Contributing + +Pull requests are always welcome! + +If you have suggestions for containers to add or any other improvements, please submit a [Discussion Post](https://github.com/ahembree/ansible-hms-docker/discussions) From e59cc6c108b8edb11f4aa5ad92a5a71394030ac9 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Sun, 24 Nov 2024 23:00:13 -0500 Subject: [PATCH 21/34] remove ubuntu 24 tests --- .github/workflows/run-playbook.yml | 52 ------------------------------ 1 file changed, 52 deletions(-) diff --git a/.github/workflows/run-playbook.yml b/.github/workflows/run-playbook.yml index 8d87cfc..648e1da 100644 --- a/.github/workflows/run-playbook.yml +++ b/.github/workflows/run-playbook.yml @@ -63,55 +63,3 @@ jobs: hms-docker.yml --diff --extra-vars "@.github/extra-vars.yml" - - Ubuntu_24: - runs-on: ubuntu-24.04 - steps: - - name: Check out repo code - uses: actions/checkout@v4 - - - name: Install ansible - run: | - sudo apt update - sudo sudo apt install software-properties-common - sudo add-apt-repository --yes --update ppa:ansible/ansible - sudo apt install ansible - - - name: Ensure base playbook requirements - # does not use the `make` command since it requires input and we cannot input in a Runner - run: | - mkdir -p ./inventory/group_vars/all - cp ./roles/hmsdocker/defaults/main/*.yml ./inventory/group_vars/all - chmod 0600 ./inventory/group_vars/all/*.yml - make install-reqs - - - name: Run playbook in check mode - run: >- - sudo ansible-playbook - -i inventory/hosts.yml - hms-docker.yml - --diff - --check - --extra-vars "@.github/extra-vars.yml" - - - name: Run playbook - run: >- - sudo ansible-playbook - -i inventory/hosts.yml - hms-docker.yml - --diff - --extra-vars "@.github/extra-vars.yml" - - - name: Check containers - run: | - sleep 60 - pip3 install -r .github/workflows/scripts/requirements.txt - sudo make verify-containers - - - name: Run playbook again to ensure API keys are retrieved - run: >- - sudo ansible-playbook - -i inventory/hosts.yml - hms-docker.yml - --diff - --extra-vars "@.github/extra-vars.yml" From 5e2289c70875fbd417cb8c99be625557fc72415a Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Mon, 25 Nov 2024 23:01:36 -0500 Subject: [PATCH 22/34] update main readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7f6f69a..d9bc0be 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Ansible Playbook to setup an automated Home Media Server stack running on Docker ## Getting Started -Please see the docs page at: https://hmsdocs.ahembree.dev +Please see the docs page at: https://docs.hmsdocker.dev ## Contributing From 385a85622c6cfde3919d86ca555ad86eb0467945 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Tue, 26 Nov 2024 20:04:11 -0500 Subject: [PATCH 23/34] update docs --- gen-docs/docs/config-docs/traefik/ssl.md | 12 ++++++++---- gen-docs/docs/design-decisions.md | 11 +++++++++++ gen-docs/docs/getting-started/install.md | 16 +++++++++------- 3 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 gen-docs/docs/design-decisions.md diff --git a/gen-docs/docs/config-docs/traefik/ssl.md b/gen-docs/docs/config-docs/traefik/ssl.md index 5731aa3..09ad760 100644 --- a/gen-docs/docs/config-docs/traefik/ssl.md +++ b/gen-docs/docs/config-docs/traefik/ssl.md @@ -2,11 +2,13 @@ ## Generating Wildcard SSL Certificate -A wildcard certificate (`*.example.com`) will be the default. To change this, see [Changing SSL Certificate SANs](#changing-ssl-certificate-sans). Note that an individual certificate for each container will not be generated due to [Let's Encrypts rate limit of 5 exact hostnames every 7 days](https://letsencrypt.org/docs/rate-limits/#new-certificates-per-exact-set-of-hostnames). +A wildcard certificate (`*.example.com`) will be the default. + +To change this, see [Changing SSL Certificate SANs](#changing-ssl-certificate-sans). Note that an individual certificate for each container will not be generated due to [Let's Encrypts rate limit of 5 exact hostnames every 7 days](https://letsencrypt.org/docs/rate-limits/#new-certificates-per-exact-set-of-hostnames). :::note -This has only been tested using Cloudflare, so ymmv. This page is just to reference supported providers, their required `Provider Code` and `Environment Variables`. Do not follow any additional configuration links within that page, you only need the provider code and environment variables. +This has only been tested using Cloudflare, so ymmv. This page is just to reference supported providers, their required `Provider Code` and `Environment Variables`. Do not follow any additional configuration links within Traefiks supported providers page, you only need the provider code and environment variables. ::: @@ -47,9 +49,11 @@ To view debug logs, set `traefik_log_level` to `DEBUG` and then re-run the playb ## Changing SSL Certificate SANs -To change/add the SANs used for the certificate, in `inventory/group_vars/all/traefik.yml` modify the `traefik_ssl_sans` variable. +To change/add the SANs (Subject Alternative Name) used for the certificate, in `inventory/group_vars/all/traefik.yml` modify the `traefik_ssl_sans` variable. + +By default, it will generate a wildcard certificate for the domain set in `hms_docker_domain`. -By default, it will generate a wildcard certificate for the domain set in `hms_docker_domain` +Here's an example of adding an additional `*.dev.` SAN to the certificate: ```yaml traefik_ssl_sans: [ diff --git a/gen-docs/docs/design-decisions.md b/gen-docs/docs/design-decisions.md new file mode 100644 index 0000000..c6d1500 --- /dev/null +++ b/gen-docs/docs/design-decisions.md @@ -0,0 +1,11 @@ +# Design Decisions + +Below are some of the ideas behind why certain decisions were made within this project (and for me to remember why I did things this way) + +## Variable Layout + +The variables being stored in `inventory/group_vars/all` was decided due to [Ansible variable precedence](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable). + +This layout allows someone to specify multiple hosts in the `inventory/hosts.yml` file (or other custom inventory file) each with their own specific variable settings with a "common" shared config between them. + +Use case: development instance with different domain and/or SSL certificate but all other settings the same diff --git a/gen-docs/docs/getting-started/install.md b/gen-docs/docs/getting-started/install.md index a7eb9b3..d9dc4eb 100644 --- a/gen-docs/docs/getting-started/install.md +++ b/gen-docs/docs/getting-started/install.md @@ -74,7 +74,7 @@ All configuration files are stored in `inventory/group_vars/all` after running t ::: -4. To initialize the configuration files, run `make config` +4. To copy the default configuration files, run `make config` :::warning @@ -90,7 +90,7 @@ To select the containers you want to use, you will need to modify the `inventory Within there, you will find a giant list of containers to modify in the `hms_docker_container_map` variable. -For an example of a container map entry, check the [Container Map](../container-map.md) docs +For an example of a container map entry and the description of what each setting does, check the [Container Map](../container-map.md) docs To enable a container, set its `enabled` value to `yes`. @@ -120,22 +120,24 @@ All configuration files are stored in `inventory/group_vars/all` #### General -In `inventory/group_vars/all/main_custom.yml`: +In `inventory/group_vars/all/main.yml`: - `hms_docker_domain` : the local domain name of the server to be used for proxy rules and (if enabled) SSL certificates (e.g. `home.local`) - `hms_docker_media_share_type` : the type of network share (`cifs`, `nfs`, `local`) - - See [the NAS setup page](./network-shares/NAS.md) + - See [the NAS setup page](./network-shares/NAS.md) if using `nfs` or `cifs` - `nfs` if using an NFS share/mount - `cifs` if using Samba or a Windows file share - - `local` if using a local directory on the same system + - `local` if using a local drive/directory on the same system -#### Plex +- `hms_docker_mount_path` : Recommended to change if using a network share and/or other drive in the system. + +#### Plex (if enabled) In `inventory/group_vars/all/plex.yml`: - `plex_claim_token` : your Plex claim code from [Plex's website](https://plex.tv/claim) -#### Download Client +#### Download Client (if enabled) In `inventory/group_vars/all/transmission.yml`: From 0d78e09e242306a6aaaf96c4a073737cab8697c2 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Tue, 26 Nov 2024 20:06:21 -0500 Subject: [PATCH 24/34] update comment in traefik.yml --- roles/hmsdocker/defaults/main/traefik.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/hmsdocker/defaults/main/traefik.yml b/roles/hmsdocker/defaults/main/traefik.yml index 5b4ad0e..d7548ad 100644 --- a/roles/hmsdocker/defaults/main/traefik.yml +++ b/roles/hmsdocker/defaults/main/traefik.yml @@ -94,6 +94,6 @@ traefik_verify_endpoints: no # Enable or disable full request logging traefik_enable_access_logs: no -# The Traefik allow-list for all containers EXCEPT the Overseerr container, the Overseerr container allows ALL IP's by default -# This allows all RFC1918 addresses by default, you can change this to further restrict or allow greater access +# The Traefik allow-list for all containers except Traefik itself +# This allows all private addresses (RFC1918) by default, you can change this to further restrict or allow greater access traefik_subnet_allow_list: "{{ hms_docker_network_subnet }}, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16" From a6d547717219190d5fdcf1f53f3848860a4b0205 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Tue, 26 Nov 2024 20:08:50 -0500 Subject: [PATCH 25/34] add additional new install check for prompt --- roles/hmsdocker/tasks/versioning.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/roles/hmsdocker/tasks/versioning.yml b/roles/hmsdocker/tasks/versioning.yml index cc965d6..128865f 100644 --- a/roles/hmsdocker/tasks/versioning.yml +++ b/roles/hmsdocker/tasks/versioning.yml @@ -5,10 +5,15 @@ - name: Fail if previous var dir exists and is not symlink ansible.builtin.fail: - msg: "You are using the old directory structure for variables. Please update your paths by running: 'make migrate-vars'. This will move the 'vars/custom' files to 'inventory/group_vars/all'" + msg: "You are using the old directory structure for variables. Please move the 'vars/custom' files to 'inventory/group_vars/all'" when: - prev_var_dir.stat.exists and not prev_var_dir.stat.islnk +- name: Check if data path already exists + ansible.builtin.stat: + path: "{{ hms_docker_data_path }}" + register: hmsd_data_dir + - name: Ensure data path exists locally. ansible.builtin.file: path: "{{ hms_docker_data_path }}" @@ -39,7 +44,7 @@ when: version_file_check.stat.exists - name: Compare versions and prompt if newer - when: hmsd_current_version is version(last_version, '>') and not (is_github_runner | default(false)) + when: hmsd_current_version is version(last_version, '>') and hmsd_data_dir.stat.exists and not (is_github_runner | default(false)) block: - name: Display current and last versions ansible.builtin.debug: @@ -67,7 +72,7 @@ prompt: | Version 0.2 (you are on version {{ last_version }}) changed the paths that media and downloads are mounted to within containers. - You will need to update the apps config to point to the new location in the container. + You will need to update the apps config to point to the new location in the container after the playbook run. Do you want to continue? (yes/no)" register: continue_playbook_hardlink_update From f4aadfc5193718486e5fca332b61878a92854697 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Tue, 26 Nov 2024 22:12:00 -0500 Subject: [PATCH 26/34] update docs --- gen-docs/docs/config-docs/_category_.json | 2 ++ gen-docs/docs/container-map.md | 10 ++++++++ gen-docs/docs/getting-started/_category_.json | 2 ++ .../network-shares/_category_.json | 2 +- gen-docs/docs/getting-started/updating.md | 25 +++++++++++++++++++ 5 files changed, 40 insertions(+), 1 deletion(-) diff --git a/gen-docs/docs/config-docs/_category_.json b/gen-docs/docs/config-docs/_category_.json index e4aacff..80629dc 100644 --- a/gen-docs/docs/config-docs/_category_.json +++ b/gen-docs/docs/config-docs/_category_.json @@ -1,6 +1,8 @@ { "label": "Additional Configuration", "position": 5, + "collapsible": true, + "collapsed": false, "link": { "type": "generated-index", "description": "Getting started with ansible-hms-docker" diff --git a/gen-docs/docs/container-map.md b/gen-docs/docs/container-map.md index 5b4c987..76e0d62 100644 --- a/gen-docs/docs/container-map.md +++ b/gen-docs/docs/container-map.md @@ -21,6 +21,16 @@ Here is an example of a container map entry for Sonarr: ... ``` +:::note + +If the top-level key (such as `sonarr:`) does not match an available container, an error may be thrown. + +::: + +## Adding New Containers + +See the [Updating](./getting-started/updating.md) docs. + ## Notes If both Jellyfin and Emby are enabled, then Emby will be available on ports `8097` and `8921` (if ports are being exposed for both Jellyfin and Emby) diff --git a/gen-docs/docs/getting-started/_category_.json b/gen-docs/docs/getting-started/_category_.json index 6a1dd8d..7f298cd 100644 --- a/gen-docs/docs/getting-started/_category_.json +++ b/gen-docs/docs/getting-started/_category_.json @@ -1,6 +1,8 @@ { "label": "Getting Started", "position": 3, + "collapsible": true, + "collapsed": false, "link": { "type": "generated-index", "description": "Getting started with ansible-hms-docker" diff --git a/gen-docs/docs/getting-started/network-shares/_category_.json b/gen-docs/docs/getting-started/network-shares/_category_.json index d397a63..8cd4381 100644 --- a/gen-docs/docs/getting-started/network-shares/_category_.json +++ b/gen-docs/docs/getting-started/network-shares/_category_.json @@ -1,5 +1,5 @@ { - "label": "Network shares", + "label": "Network Shares", "link": { "type": "generated-index", "description": "How to configure network shares for the containers" diff --git a/gen-docs/docs/getting-started/updating.md b/gen-docs/docs/getting-started/updating.md index 09ab6d7..c0407bc 100644 --- a/gen-docs/docs/getting-started/updating.md +++ b/gen-docs/docs/getting-started/updating.md @@ -9,3 +9,28 @@ make update Previous variable names will still work for at least a year after the change and will be noted as such within the default configs. Please update to resolve. Please see the [Release Notes](../category/release-notes) if you are updating from a previous version. + +## New Containers + +When a new container is added, you will need to manually add the new container to your [Container Map](../container-map.md) file, it will look something like this: + +```yaml +... + newcontainername: + enabled: yes + proxy_host_rule: new-container-name + directory: yes + traefik: yes + authentik: no + authentik_provider_type: proxy + expose_to_public: no + homepage: yes + homepage_stats: no +... +``` + +:::note + +If the top-level key (such as `newcontainername:`) does not match an available container, an error may be thrown. + +::: From 49534cf1777536cfe6e3f77ea6613f78c4a603fd Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Wed, 4 Dec 2024 21:58:13 -0500 Subject: [PATCH 27/34] align tailscale compose with official docs --- roles/hmsdocker/templates/containers/tailscale.yml.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/hmsdocker/templates/containers/tailscale.yml.j2 b/roles/hmsdocker/templates/containers/tailscale.yml.j2 index 485ce50..8b19090 100644 --- a/roles/hmsdocker/templates/containers/tailscale.yml.j2 +++ b/roles/hmsdocker/templates/containers/tailscale.yml.j2 @@ -13,8 +13,8 @@ services: - NET_RAW volumes: - '/var/lib:/var/lib' - - '/dev/net/tun:/dev/net/tun' - network_mode: host + devices: + - /dev/net/tun:/dev/net/tun environment: - TS_AUTHKEY=${TAILSCALE_AUTH_KEY} {% if tailscale_enable_subnet_routes %} From a5de52aec4add946d06b52f2bec6f6a49d3aec13 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Wed, 4 Dec 2024 21:59:36 -0500 Subject: [PATCH 28/34] fixes #80 --- roles/hmsdocker/templates/containers/transmission.yml.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/hmsdocker/templates/containers/transmission.yml.j2 b/roles/hmsdocker/templates/containers/transmission.yml.j2 index 83aa386..aa12d91 100644 --- a/roles/hmsdocker/templates/containers/transmission.yml.j2 +++ b/roles/hmsdocker/templates/containers/transmission.yml.j2 @@ -10,6 +10,8 @@ services: driver: json-file networks: - download_net + devices: + - /dev/net/tun:/dev/net/tun cap_add: - NET_ADMIN {% if hmsdocker_expose_ports_enabled_transmission %} From 80f0473685a444796cc8990de368988eacb91b4f Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Thu, 5 Dec 2024 22:17:58 -0500 Subject: [PATCH 29/34] update docs --- gen-docs/docs/getting-started/install.md | 12 ++++++++++++ gen-docs/docs/release-notes/v1.6.md | 12 +++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/gen-docs/docs/getting-started/install.md b/gen-docs/docs/getting-started/install.md index d9dc4eb..69b843b 100644 --- a/gen-docs/docs/getting-started/install.md +++ b/gen-docs/docs/getting-started/install.md @@ -114,6 +114,18 @@ All configuration options are in a (hopefully) aptly-named `.yml` file. All configuration files are stored in `inventory/group_vars/all` +Any variable can be removed from _your_ config file if not being used, it will use the default already defined in the file, this can help reduce the number of variables and narrow it down to only ones you know have changed. + +::: + +:::note + +Any future containers variables will need to be added to your config file manually, if you chose to change from the default values. + +The default variable files are found in `roles/hmsdocker/defaults/main/` + +For adding a newly supported container, see [Updating](./updating.md#new-containers) + ::: ### Required Settings diff --git a/gen-docs/docs/release-notes/v1.6.md b/gen-docs/docs/release-notes/v1.6.md index d93bc18..34733da 100644 --- a/gen-docs/docs/release-notes/v1.6.md +++ b/gen-docs/docs/release-notes/v1.6.md @@ -1,7 +1,13 @@ # Version 1.6 -Updated documentation pages +- Updated documentation pages, new website replaces readme -Removed different "basic" and "advanced" configuration deployments to reduce maintenance, the "advanced" configuration is now the default +- Removed different "basic" and "advanced" configuration deployments to reduce maintenance, the "advanced" configuration is now the default -Fix Overseerr and Jellyseerr Traefik allowlist configuration to obey container map settings +- Fix Overseerr and Jellyseerr Traefik allowlist configuration to obey container map settings + +- Add additional check for new install to bypass update prompt + +- Align Tailscale compose file to official docs + +- Add `/dev/net/tun` device to Transmission container ([#80](https://github.com/ahembree/ansible-hms-docker/issues/80)) From b1c2a7191f2741ac313cdcf850a1e4847b62c8b7 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Thu, 5 Dec 2024 22:18:08 -0500 Subject: [PATCH 30/34] bump version --- hms-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hms-docker.yml b/hms-docker.yml index 0d373f5..3cabb54 100644 --- a/hms-docker.yml +++ b/hms-docker.yml @@ -3,7 +3,7 @@ become: yes gather_facts: yes vars: - hmsd_current_version: 1.5.1 + hmsd_current_version: 1.6 hmsd_version_file: "{{ hms_docker_data_path }}/.hmsd-version" regex: '[^A-Za-z0-9._-]' replace: '_' From dca06472f1bd5a40df1768f7a284b966bd87b061 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Thu, 5 Dec 2024 23:55:45 -0500 Subject: [PATCH 31/34] update docs --- Makefile | 3 -- gen-docs/docs/config-docs/Authentik.md | 24 ++++++------- gen-docs/docs/config-docs/Cloudflare/ddns.md | 1 + gen-docs/docs/config-docs/Networking.md | 6 ++-- gen-docs/docs/config-docs/Tailscale.md | 1 + gen-docs/docs/config-docs/traefik/ssl.md | 1 + gen-docs/docs/container-map.md | 38 ++++++++++---------- gen-docs/docs/design-decisions.md | 2 +- gen-docs/docs/getting-started/dns-setup.md | 32 ++++++++++++----- gen-docs/docs/getting-started/install.md | 22 +++++++----- gen-docs/docs/getting-started/updating.md | 2 +- gen-docs/docs/intro.md | 8 ++--- gen-docs/docs/paths.md | 12 +++---- 13 files changed, 86 insertions(+), 66 deletions(-) diff --git a/Makefile b/Makefile index 85f6c53..d65b231 100644 --- a/Makefile +++ b/Makefile @@ -55,9 +55,6 @@ update: @sed -i 's\hms_docker_library_path\hmsdocker_library_path\g' $(CUSTOM_CONF_DIR)/hmsd_advanced.yml @echo Update finished -docs: - @docker run -p 3000:3000 -v ./gen-docs:/app -w /app node:22-alpine npm run start - help: @echo make config :: copy default config files @echo make check :: check for any changes without doing anything \(diff\) diff --git a/gen-docs/docs/config-docs/Authentik.md b/gen-docs/docs/config-docs/Authentik.md index bb04c8c..65826c4 100644 --- a/gen-docs/docs/config-docs/Authentik.md +++ b/gen-docs/docs/config-docs/Authentik.md @@ -2,7 +2,7 @@ :::warning -In order to use Authentik, you must be using SSL as outlined in this project. +In order to use Authentik, you must be using [SSL](traefik/ssl.md) as outlined in this project. ::: @@ -18,19 +18,19 @@ Authentik is able to be controlled on a per-container basis, but requires a bit If you are using [Cloudflare Tunnel](./Cloudflare/tunnel.md) **AND** you have disabled port forwarding to 80/443, you **MUST** create a new "public hostname" in Tunnel in order for SSO to work since the SSO server needs to be publicly accessible. If your Tunnel is online and working, follow [step 4 when setting up Tunnel](./Cloudflare/tunnel.md) and configure it for the `authentik-server:9001` container. -However, any containers configured to be accessible through the Cloudflare Tunnel **will not** be protected by Authentik if accessed via the Tunnel. This is mainly for the use case of not having to port forward while still having Authentik protect services routed through Traefik. +However, any containers configured to be accessible through the Cloudflare Tunnel **will not be protected by Authentik if accessed via the Tunnel**. ::: ## Enabling Authentik on Individual Containers -1. Enable the `authentik` container either in the container map or within the `authentik.yml` config file +1. Enable the `authentik` container either in the [Container Map](../container-map.md) or within the `authentik.yml` config file -2. Enable `authentik` for the containers you want in the `hms_docker_container_map` variable available in the `inventory/group_vars/all/container_map.yml` file. +2. Set the `authentik` variable to `yes` for the containers you want in the [Container Map](../container-map.md). 3. Run the playbook as normal -4. Once all containers are started, go to `https://authentik.< domain >/if/flow/initial-setup/` to create the initial user and password to continue Authentik setup +4. Once all containers are started, go to `https://authentik.< domain >/if/flow/initial-setup/` to create the initial user and password to continue Authentik setup (if you changed the `proxy_host_rule` value for the authentik container, use that subdomain instead) 5. Configure an Application Provider within Authentik @@ -54,7 +54,7 @@ However, any containers configured to be accessible through the Cloudflare Tunne 6. Configure an Application - a. Do a-c (above in step 4) again + a. Do a-c (above in step 5) again b. Click `Applications` @@ -64,19 +64,19 @@ However, any containers configured to be accessible through the Cloudflare Tunne 7. Configure an Application Outpost - a. Do a-c above in step 5 again + a. Do a-c (above in step 6) again b. Click `Outposts` c. Give it a name, the `type` is `Proxy` and integration should be the `Local Docker connection` - d. Select the application to associate it to + d. Select the application you created in step 6 to associate it to :::tip **IMPORTANT**: copy the content of the file for the container generated in: `< hms_docker_apps_path >/authentik/outposts/authentik-< container_name >-output.yml` (so by default: `/opt/hms-docker/apps/authentik/outposts/...`) to your clipboard - - If a configuration does not exist for the container you want, ensure you've enabled Authentik and have enabled `authentik` for that specific container in the `container_map.yml` config file + - If a configuration does not exist for the container you want, ensure you've enabled Authentik as outlined in steps 1 and 2 ::: @@ -84,11 +84,11 @@ However, any containers configured to be accessible through the Cloudflare Tunne g. Once you click create, it will automatically create a new `authentik-proxy` container that will handle authentication. - h. Note: it may take some time to setup the proxy, be patient + h. It may take some time to download and setup the proxy, be patient :::note - This `authentik-proxy` container (and also any associated networks) will **not** be deleted if the Compose stack is removed since the container is not defined in the Compose file. + This `authentik-proxy` container (and also any associated networks it's connected to) will **not** be deleted if the Compose stack is removed since the container is not defined in the Compose file and the container is using those networks ::: @@ -96,7 +96,7 @@ However, any containers configured to be accessible through the Cloudflare Tunne a. Using the Traefik and Portainer dashboards help a LOT during the troubleshooting process - b. If you're getting a `404 not found` error, this is likely due to the `authentik-proxy` containers not working, running, or not being configured correctly. Check Portainer. If you just configured a new application output, wait a couple more minutes. + b. If you're getting a `404 not found` error, this is likely due to the `authentik-proxy` containers not working, running, or not being configured correctly. Check Portainer. If you just configured a new application outpost, wait a couple more minutes, but it should show in Portainer as well. c. If you're getting a `500` server error, this is possibly due to having duplicate Traefik routes for the same host rules, check Traefik logs and/or Portainer logs for the correct `authentik-proxy` container. diff --git a/gen-docs/docs/config-docs/Cloudflare/ddns.md b/gen-docs/docs/config-docs/Cloudflare/ddns.md index 4f897a7..55cf6a2 100644 --- a/gen-docs/docs/config-docs/Cloudflare/ddns.md +++ b/gen-docs/docs/config-docs/Cloudflare/ddns.md @@ -6,6 +6,7 @@ Below is how to configure DDNS (Dynamic DNS) for Cloudflare. - A Cloudflare account and Cloudflare configured as your domains DNS servers - API keys for your account with the correct permissions + - Requires `Zone.DNS:Edit` permissions for the correct zone ## Enabling diff --git a/gen-docs/docs/config-docs/Networking.md b/gen-docs/docs/config-docs/Networking.md index e12a8cb..dde105e 100644 --- a/gen-docs/docs/config-docs/Networking.md +++ b/gen-docs/docs/config-docs/Networking.md @@ -6,12 +6,12 @@ Ports are _NOT_ exposed by default (with the exception of Traefik, `80/443`) on ::: -See the **[Container Map](../container-map.md)** for the `Host Port` value for each service as there may be overlapping default ports, meaning the port may have changed for a service. - -The service ports will be **exposed/open** on the host machine if: +The service ports (such as for Sonarr (`8989`) or Radarr (`7878`)) will be **exposed/open** on the host machine if: * `container_expose_ports` is set to `yes` in `inventory/group_vars/all/container_settings.yml` * Traefik is disabled entirely * Traefik is disabled on that specific container in `inventory/group_vars/all/container_map.yml` + +See the **[Container Map](../container-map.md)** for the `Host Port` value for each service as there may be overlapping default ports, meaning the default port may have changed for a service. diff --git a/gen-docs/docs/config-docs/Tailscale.md b/gen-docs/docs/config-docs/Tailscale.md index d91325e..40869d1 100644 --- a/gen-docs/docs/config-docs/Tailscale.md +++ b/gen-docs/docs/config-docs/Tailscale.md @@ -3,5 +3,6 @@ ## Important Notes - You must generate an Ephemeral auth key in the Tailscale admin console, you can find [instructions here](https://tailscale.com/kb/1111/ephemeral-nodes/#step-1-generate-an-ephemeral-auth-key). + - If you must manually confirm new nodes on your Tailnet, you must confirm it within a couple minutes unless you set the key to automatically approve new nodes. Otherwise it will create a new node on your Tailnet every couple minutes. - Tailscale auth keys are only able to be valid for up to 90 days. diff --git a/gen-docs/docs/config-docs/traefik/ssl.md b/gen-docs/docs/config-docs/traefik/ssl.md index 09ad760..29dc93d 100644 --- a/gen-docs/docs/config-docs/traefik/ssl.md +++ b/gen-docs/docs/config-docs/traefik/ssl.md @@ -17,6 +17,7 @@ This has only been tested using Cloudflare, so ymmv. This page is just to refere - A supported DNS provider (e.g. Cloudflare), [you can find supported providers **here** along with their settings](https://doc.traefik.io/traefik/https/acme/#providers) - A valid Top-Level Domain (TLD), such as `.com` or `.net`, that Let's Encrypt is able to issue certificates for - API keys for the DNS provider with the correct permissions + - If using Cloudflare, it needs `Zone.DNS:Edit` permissions for the correct zone. This can be the same key for Cloudflare DDNS in this project :::tip diff --git a/gen-docs/docs/container-map.md b/gen-docs/docs/container-map.md index 76e0d62..e7b84ad 100644 --- a/gen-docs/docs/container-map.md +++ b/gen-docs/docs/container-map.md @@ -4,26 +4,9 @@ The container map controls which containers are enabled, if they are accessible By default, the container map is in `inventory/group_vars/all/container_map.yml` -Here is an example of a container map entry for Sonarr: - -```yaml -... - sonarr: # Do not modify this value - enabled: yes # Enables or disables the container named above - proxy_host_rule: sonarr # The subdomain that will route to the container (based on Host header) - directory: yes # Do not modify, controls if a container "app" folder is created - traefik: yes # If container should be accessible via Traefik (such as `.`) - authentik: no # If container should be protected by Authentik - authentik_provider_type: proxy # The type of integration with Authentik. Likely `proxy` unless you know it's `oauth2` - expose_to_public: no # If the container should be exposed to public (0.0.0.0/0) traffic - homepage: yes # If the integration with the Homepage container should be enabled - homepage_stats: no # Enables advanced stats for the container within Homepage -... -``` - :::note -If the top-level key (such as `sonarr:`) does not match an available container, an error may be thrown. +If a key (such as `sonarr:`) does not match an available container, an error may be thrown. ::: @@ -76,3 +59,22 @@ If both Jellyfin and Emby are enabled, then Emby will be available on ports `809 | PASTA | ☐ | `pasta` | `8085` | `80` | ☑ | | Wizarr | ☐ | `wizarr` | `5690` | `5690` | ☑ | | Jellyseerr | ☐ | `jellyseerr` | `5056` | `5055` | ☑ | + +## Container Map Entry Example + +Here is an example of a container map entry for Sonarr: + +```yaml +... + sonarr: # Do not modify this value, this is the "key" + enabled: yes # Enables or disables the container named above + proxy_host_rule: sonarr # The subdomain that will route to the container (based on HTTP Host header) + directory: yes # Do not modify, controls if a container "app" folder is created + traefik: yes # If container should be accessible via Traefik (such as `.`) + authentik: no # If container should be protected by Authentik + authentik_provider_type: proxy # The type of integration with Authentik. Likely `proxy` unless you know it's `oauth2` + expose_to_public: no # If the container should be exposed to public (0.0.0.0/0) traffic + homepage: yes # If the integration with the Homepage container should be enabled + homepage_stats: no # Enables advanced stats for the container within Homepage (CPU, RAM, RX/TX) +... +``` diff --git a/gen-docs/docs/design-decisions.md b/gen-docs/docs/design-decisions.md index c6d1500..2bb2bf6 100644 --- a/gen-docs/docs/design-decisions.md +++ b/gen-docs/docs/design-decisions.md @@ -6,6 +6,6 @@ Below are some of the ideas behind why certain decisions were made within this p The variables being stored in `inventory/group_vars/all` was decided due to [Ansible variable precedence](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable). -This layout allows someone to specify multiple hosts in the `inventory/hosts.yml` file (or other custom inventory file) each with their own specific variable settings with a "common" shared config between them. +This layout allows someone to specify multiple hosts in the `inventory/hosts.yml` file (or other custom inventory file) each with their own specific variable settings with a "common" shared config between them. See the [Install Docs](getting-started/install.md#remote-host). Use case: development instance with different domain and/or SSL certificate but all other settings the same diff --git a/gen-docs/docs/getting-started/dns-setup.md b/gen-docs/docs/getting-started/dns-setup.md index fa26d8e..fdb7df4 100644 --- a/gen-docs/docs/getting-started/dns-setup.md +++ b/gen-docs/docs/getting-started/dns-setup.md @@ -2,7 +2,7 @@ :::tip -It is recommended to use an internal DNS server (such as a Pi-hole or AdGuard Home) to serve these DNS requests. This is because creating public DNS records would reveal your internal network IPs. +It is recommended to use an internal DNS server (such as a Pi-hole or AdGuard Home) to serve requests that point to an internal private IP address ([RFC1918](https://en.wikipedia.org/wiki/Private_network)). Creating public DNS records that resolve to internal IPs would reveal your internal network IP space, but not allow anyone outside of the same network to access it. Very small risk but one that should be mentioned. @@ -12,20 +12,36 @@ The domain used is defined in the variable `hms_docker_domain` in `inventory/gro ## Accessing the Containers -If you do not already have a "wildcard" DNS record (`*.example.com`) setup for the domain you used on your LOCAL DNS server (such as `*.home.local`), create this `A` record to point to the IP address of the server. +### Internally + +If you do not already have a "wildcard" DNS record (`*.example.com`) setup for the domain you used on your LOCAL DNS server, create this `A` record to point to the private IP address of the server. + +You can also create individual `A` records for each container listed in the [Container Map](../container-map.md), or have 1 `A` record with multiple `CNAME` records pointed to the `A` record. This will allow you to change 1 DNS record if the IP were to ever change, instead of having to change many individual records. + +If the appropriate DNS records exist (you can test by running `nslookup `, or optionally `nslookup ` to query a specific DNS server), you can then access the containers from your network by going to `.` where `` is the `proxy_host_rule` value (from the container map config file) and `` is the domain you used for the variable `hms_docker_domain`. + +You can also change the name/subdomain of each application within the `hms_docker_container_map` in the containers `proxy_host_rule` value. + +### Externally + +If you enabled Cloudflare DDNS, an `overseerr` public `A` record will be created automatically that points to your networks _public_ IP. + +- This default `A` record can be changed in the `cloudflare_ddns_subdomain` variable located in `inventory/group_vars/all/cloudflare.yml`. :::note -If you enabled Cloudflare DDNS, an `overseerr` public `A` record will be created automatically that points to your networks public IP. +Although this DNS record is created automatically, you will need to set the `expose_to_public` value to `yes` for the `overseerr` container in the [Container Map](../container-map.md) config file if you want Overseerr to be public -* This default `A` record can be changed in the `cloudflare_ddns_subdomain` variable located in `inventory/group_vars/all/cloudflare.yml`. +::: Unless port `80` and `443` are port forwarded on the router to your host, accessing this public address from outside your main network will not work. -::: +To grant public access to other containers, you will need to: -You can also create individual `A` records for each container listed in the [Container Map](../container-map.md), or have 1 `A` record with multiple `CNAME` records pointed to the `A` record. This will allow you to change 1 DNS record if the IP were to ever change, instead of having to change many individual records. +- Create a public DNS record for it that is either: + + a.) `A` record that points to the public IP -If the appropriate DNS records exist (you can test by running `nslookup `, or optionally `nslookup ` to query a specific DNS server), you can then access the containers from your network by going to `.` where `` is the container name and `` is the domain you used for the variable `hms_docker_domain` in the `proxy_host_rule` value. + b.) `CNAME` record that points to the `.` (eg. `overseerr.example.com`) -You can also change the name/subdomain of each application within the `hms_docker_container_map`. +- Set the `expose_to_public` value to `yes` for the specific container in the [Container Map](../container-map.md) diff --git a/gen-docs/docs/getting-started/install.md b/gen-docs/docs/getting-started/install.md index 69b843b..bb07395 100644 --- a/gen-docs/docs/getting-started/install.md +++ b/gen-docs/docs/getting-started/install.md @@ -41,9 +41,11 @@ all: hmsdockerhost: ansible_host: 192.168.1.2 # The IP address of the target host you want to install to # Uncomment and modify the following if you have a specific user you use for Ansible: - # ansible_user: ansibleuser - # ansible_ssh_private_key_file: /path/to/key/file - # ansible_ssh_pass: foo + #ansible_user: ansibleuser + #ansible_ssh_private_key_file: /path/to/key/file + #ansible_ssh_pass: foo #leave as-is if key does not have a password + # You can also specify host-specific variables here: + #hms_docker_domain: secondary.example.com ``` ### Install Steps @@ -86,13 +88,13 @@ Re-running this command will overwrite any existing files in the config director ## Container Selection -To select the containers you want to use, you will need to modify the `inventory/group_vars/all/container_map.yml` file. +To select the containers you want to use, you will need to modify the `inventory/group_vars/all/container_map.yml` file. Within there, you will find a giant list of containers to modify in the `hms_docker_container_map` variable. -Within there, you will find a giant list of containers to modify in the `hms_docker_container_map` variable. +To enable a container, set its `enabled` value to `yes`. For an example of a container map entry and the description of what each setting does, check the [Container Map](../container-map.md) docs -To enable a container, set its `enabled` value to `yes`. +--- There is a small number of containers not in this list since they do not need config directories and are not routed through Traefik. @@ -167,7 +169,7 @@ If you have your media content stored on a NAS that will be connected via NFS or ## Running the playbook -You can run the playbook using the included `Makefile` with the following commands: +You can run the playbook using the following commands: ```bash # Run in "Check mode" to see changes before they are made @@ -177,9 +179,11 @@ sudo make check sudo make apply ``` -## Next Steps +### Advanced Playbook Run + +If -Check out [the NAS Setup](docs/getting-started/network-shares/NAS.md) if you set `hms_docker_media_share_type` to `cifs` or `nfs` +## Next Steps Check out [Configuring DNS](./dns-setup.md) on how to setup the DNS records on a (recommended) internal DNS server. diff --git a/gen-docs/docs/getting-started/updating.md b/gen-docs/docs/getting-started/updating.md index c0407bc..84aa2f4 100644 --- a/gen-docs/docs/getting-started/updating.md +++ b/gen-docs/docs/getting-started/updating.md @@ -31,6 +31,6 @@ When a new container is added, you will need to manually add the new container t :::note -If the top-level key (such as `newcontainername:`) does not match an available container, an error may be thrown. +If the key (such as `newcontainername:`) does not match an available container, an error may be thrown. ::: diff --git a/gen-docs/docs/intro.md b/gen-docs/docs/intro.md index 480bdb7..ca3da67 100644 --- a/gen-docs/docs/intro.md +++ b/gen-docs/docs/intro.md @@ -13,13 +13,13 @@ Setting up the individual container configurations, such as for Sonarr, Radarr, ## Features +- Automatic Docker installation +- Automatic container/service updates +- Wildcard SSL certificate generation +- Dynamic DNS updates with Cloudflare - GPU acceleration for media transcoding - Intel and Nvidia GPU support - You must install the drivers for your Nvidia GPU yourself, it is not included in this playbook, but it will verify GPU acceleration is available -- Automatic Docker installation -- Automatic container updates -- Dynamic DNS updates with Cloudflare -- Wildcard SSL certificate generation - Support for multiple network shares - Single Sign-On with Authentik - Support for separate 4K instances of Sonarr and Radarr diff --git a/gen-docs/docs/paths.md b/gen-docs/docs/paths.md index a031162..834bdd6 100644 --- a/gen-docs/docs/paths.md +++ b/gen-docs/docs/paths.md @@ -4,7 +4,7 @@ By default, the content is in the following directory structure, if you wish to Generated compose file location: `/opt/hms-docker/docker-compose.yml` -Container data directory: `/opt/hms-docker/apps` +Container data directory: `/opt/hms-docker/apps/` Default mount path for local share (known as the `mount_path` in this readme): `/opt/hms-docker/media_data/` @@ -16,11 +16,11 @@ TV Show folder: `/TV_Shows` Secrets file (where sensitive key material is stored, other than the ansible variable files in `inventory/group_vars/all`): `/opt/hms-docker/.env` -- This files default ownership and permissions requires you to enter the sudo/root password every time you run a `docker-compose` command within the project directory +- This files default ownership and permissions requires you to enter the sudo/root password every time you run a `docker compose` command within the project directory - If you wish to get around this (and reduce security), you can change the `secrets_env_user`, `secrets_env_group`, and `secrets_env_mode` within the `inventory/group_vars/all/hmsd_advanced.yml` file - - These recommended values (if you wish to do this) will allow all users with `docker` access to read the file, and thus run `docker-compose` commands without needing to run as sudo/root, but will not allow them to modify. + - These recommended values (if you wish to do this) will allow all users with `docker` access to read the file, and thus run `docker compose` commands without needing to run as sudo/root, but will not allow them to modify. - `secrets_env_user: root` @@ -30,16 +30,14 @@ Secrets file (where sensitive key material is stored, other than the ansible var ## File Paths -As of release version 0.2, file paths were changed in order to support [hardlinks and instant/atomic-moves](https://trash-guides.info/Hardlinks/Hardlinks-and-Instant-Moves/). +As of release [Version 0.2](release-notes/v0.2.md), file paths were changed in order to support [hardlinks and instant/atomic-moves](https://trash-guides.info/Hardlinks/Hardlinks-and-Instant-Moves/). Application configs (Sonarr, Radarr, Plex, etc.) are stored in `/opt/hms-docker/apps//config` by default. -Network drives will be mounted to a folder within the path specified in the `hms_docker_mount_path` variable in `inventory/group_vars/all/main_custom.yml`. The parent directory of all the mounted folders (`hms_docker_mount_path`) is what is mounted to the required containers on `/data`. +Network drives will be mounted to a folder within the path specified in the `hms_docker_mount_path` variable in `inventory/group_vars/all/main.yml`. The parent directory of all the mounted folders (`hms_docker_mount_path`) is what is mounted to the required containers on `/data`. Hard links are supported as long as the downloads folder and media content folder are on the same filesystem. This means if you have another NAS network share connected that is on a different underlying file system (like a different physical NAS) that you want to put media content on, you must change the download client to download files to that NAS share folder within the container. --- If you were running the playbook before versioning was implemented (August 2024) and then update your local code with the new code in the repo, you will be prompted multiple times with warnings. It is highly recommended to read these warnings and understand any changes being made as you will likely have to update the paths inside the apps (Sonarr, Radarr, etc) to point to the new directory locations. - -For a full list of all paths changed, please see [the release notes doc](category/release-notes/) From fffbdf19ba12c2c421eab0b873f430a41fe47eb4 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Fri, 6 Dec 2024 00:13:52 -0500 Subject: [PATCH 32/34] update actions --- .github/workflows/deploy-docs.yml | 2 ++ .github/workflows/run-playbook.yml | 3 ++- .github/workflows/test-deploy-docs.yml | 7 +++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 937142b..f58e01a 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -2,6 +2,8 @@ name: Deploy to GitHub Pages on: push: + branches: + - master paths: - 'gen-docs/**' diff --git a/.github/workflows/run-playbook.yml b/.github/workflows/run-playbook.yml index 648e1da..725c5af 100644 --- a/.github/workflows/run-playbook.yml +++ b/.github/workflows/run-playbook.yml @@ -1,4 +1,4 @@ -name: Deployment Tests +name: Ubuntu Deployment Tests run-name: Test Ubuntu Deployments on: push: @@ -13,6 +13,7 @@ permissions: jobs: Ubuntu_22: + name: Test Ubuntu 22.04 runs-on: ubuntu-22.04 steps: - name: Check out repo code diff --git a/.github/workflows/test-deploy-docs.yml b/.github/workflows/test-deploy-docs.yml index 75309a6..09a8bc9 100644 --- a/.github/workflows/test-deploy-docs.yml +++ b/.github/workflows/test-deploy-docs.yml @@ -1,13 +1,15 @@ -name: Test deployment +name: Test Docusaurus Deployment on: pull_request: branches: - master + paths: + - 'gen-docs/**' jobs: test-deploy: - name: Test deployment + name: Test Install and Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -17,6 +19,7 @@ jobs: with: node-version: 20 cache: npm + cache-dependency-path: gen-docs/package-lock.json - name: Install dependencies run: | From 86a40414b64279f3d4c152126eff85f64b123dc2 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Tue, 10 Dec 2024 21:19:11 -0500 Subject: [PATCH 33/34] update docs --- gen-docs/docs/intro.md | 17 +- gen-docs/docs/static/img/hmsd.png | Bin 0 -> 108666 bytes gen-docs/docusaurus.config.js | 6 +- .../static/img/docusaurus-social-card.jpg | Bin 55746 -> 0 bytes gen-docs/static/img/docusaurus.png | Bin 5142 -> 0 bytes gen-docs/static/img/favicon.ico | Bin 3626 -> 51535 bytes gen-docs/static/img/hmsd.png | Bin 0 -> 15685 bytes gen-docs/static/img/logo.svg | 1 - .../static/img/undraw_docusaurus_mountain.svg | 171 ------------------ .../static/img/undraw_docusaurus_react.svg | 170 ----------------- .../static/img/undraw_docusaurus_tree.svg | 40 ---- 11 files changed, 19 insertions(+), 386 deletions(-) create mode 100644 gen-docs/docs/static/img/hmsd.png delete mode 100644 gen-docs/static/img/docusaurus-social-card.jpg delete mode 100644 gen-docs/static/img/docusaurus.png create mode 100644 gen-docs/static/img/hmsd.png delete mode 100644 gen-docs/static/img/logo.svg delete mode 100644 gen-docs/static/img/undraw_docusaurus_mountain.svg delete mode 100644 gen-docs/static/img/undraw_docusaurus_react.svg delete mode 100644 gen-docs/static/img/undraw_docusaurus_tree.svg diff --git a/gen-docs/docs/intro.md b/gen-docs/docs/intro.md index ca3da67..9b058df 100644 --- a/gen-docs/docs/intro.md +++ b/gen-docs/docs/intro.md @@ -1,9 +1,14 @@ --- +sidebar_label: Introduction sidebar_position: 1 slug: / --- -# Introduction +# HMS-Docker + +![HMS-Docker Logo](static/img/hmsd.png) + +## Introduction ansible-hms-docker helps setup a home media server automation pipeline using many containers. @@ -33,3 +38,13 @@ Setting up the individual container configurations, such as for Sonarr, Radarr, Pull requests are always welcome! If you have suggestions for containers to add or any other improvements, please submit a [Discussion Post](https://github.com/ahembree/ansible-hms-docker/discussions) + +## Disclaimer + +By using or running this code, you acknowledge and agree that it is provided **"as-is"** without any warranties or guarantees. The author(s) of this project are not responsible for any damages, data loss, or any other consequences that may result from the use or misuse of this code. + +You use this code at your own risk. It is your responsibility to review and test the code in a safe environment before deploying it in production or on any system where data loss, corruption, or security risks could occur. + +If you choose to run or implement this code, you do so with full knowledge of the potential risks involved. + +Also the logos were generated by AI because I'm terrible at designing stuff. diff --git a/gen-docs/docs/static/img/hmsd.png b/gen-docs/docs/static/img/hmsd.png new file mode 100644 index 0000000000000000000000000000000000000000..d2acc77f155e84fedd37110a5cf5b8c8158496d4 GIT binary patch literal 108666 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 NML|=(LC!q<{{X8#`+^i? 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 fgzs%Vr*-jYG(YMS<ttdtee# diff --git a/gen-docs/static/img/docusaurus.png b/gen-docs/static/img/docusaurus.png deleted file mode 100644 index f458149e3c8f53335f28fbc162ae67f55575c881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5142 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 F{0H{b<4^zq diff --git a/gen-docs/static/img/favicon.ico b/gen-docs/static/img/favicon.ico index c01d54bcd39a5f853428f3cd5aa0f383d963c484..0e5d829de5b92741b444d4fc6ba89870ce88da92 100644 GIT binary patch literal 51535 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 literal 3626 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 literal 0 HcmV?d00001 diff --git a/gen-docs/static/img/logo.svg b/gen-docs/static/img/logo.svg deleted file mode 100644 index 9db6d0d..0000000 --- a/gen-docs/static/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/gen-docs/static/img/undraw_docusaurus_mountain.svg b/gen-docs/static/img/undraw_docusaurus_mountain.svg deleted file mode 100644 index af961c4..0000000 --- a/gen-docs/static/img/undraw_docusaurus_mountain.svg +++ /dev/null @@ -1,171 +0,0 @@ - - Easy to Use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gen-docs/static/img/undraw_docusaurus_react.svg b/gen-docs/static/img/undraw_docusaurus_react.svg deleted file mode 100644 index 94b5cf0..0000000 --- a/gen-docs/static/img/undraw_docusaurus_react.svg +++ /dev/null @@ -1,170 +0,0 @@ - - Powered by React - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gen-docs/static/img/undraw_docusaurus_tree.svg b/gen-docs/static/img/undraw_docusaurus_tree.svg deleted file mode 100644 index d9161d3..0000000 --- a/gen-docs/static/img/undraw_docusaurus_tree.svg +++ /dev/null @@ -1,40 +0,0 @@ - - Focus on What Matters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 126ecabe789b9a38b497dfa83487266252e22973 Mon Sep 17 00:00:00 2001 From: Aidan Hembree <8049680+ahembree@users.noreply.github.com> Date: Tue, 10 Dec 2024 21:21:25 -0500 Subject: [PATCH 34/34] pin doc build Actions to ubuntu22 --- .github/workflows/deploy-docs.yml | 4 ++-- .github/workflows/test-deploy-docs.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index f58e01a..e900fa8 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -10,7 +10,7 @@ on: jobs: build: name: Build Docusaurus - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -52,7 +52,7 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Deploy to GitHub Pages id: deployment diff --git a/.github/workflows/test-deploy-docs.yml b/.github/workflows/test-deploy-docs.yml index 09a8bc9..c7e985d 100644 --- a/.github/workflows/test-deploy-docs.yml +++ b/.github/workflows/test-deploy-docs.yml @@ -10,7 +10,7 @@ on: jobs: test-deploy: name: Test Install and Build - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: